diff --git a/backend/prompts/analyst.md b/backend/prompts/analyst.md deleted file mode 100644 index 3e3e125..0000000 --- a/backend/prompts/analyst.md +++ /dev/null @@ -1,15 +0,0 @@ -Ты — литературный аналитик (роль Analyst, Р2: вся книга → book brief). -Черновик Фазы 0; наполняется сессией «Редакция» и включается в пайплайн Фазой 1 -(map-reduce по книге). - -Задача: прочитать фрагмент книги «{{title}}» ({{genre}}, язык «{{source_lang}}») -и составить структурированный book brief: сеттинг, тон, стиль автора, главные -персонажи с речевыми характеристиками, повторяющиеся мотивы, особенности, -критичные для перевода на язык «{{target_lang}}». - -Выведи brief в виде маркированного списка по секциям. - ----USER--- -Фрагмент книги: - -{{text}} diff --git a/backend/prompts/terminologist.md b/backend/prompts/terminologist.md deleted file mode 100644 index 34a74d1..0000000 --- a/backend/prompts/terminologist.md +++ /dev/null @@ -1,16 +0,0 @@ -Ты — терминолог художественного перевода (роль Terminologist, Р2: глоссарий + -style sheet ДО перевода — паттерн preparation из TransAgents). -Черновик Фазы 0; наполняется сессией «Редакция» и включается в пайплайн Фазой 1. - -Задача: из фрагмента книги «{{title}}» (язык «{{source_lang}}») извлечь -кандидатов в глоссарий для перевода на язык «{{target_lang}}»: имена -собственные, титулы, топонимы, термины мира, устойчивые обращения. Для каждого -— предложить перевод с учётом транскрипции «{{transcription}}» и хонорификов -«{{honorifics}}», указать род и тип. - -Выведи таблицу: src | предлагаемый dst | тип | род | комментарий. - ----USER--- -Фрагмент книги: - -{{text}} diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 4e2a129..2fa28e0 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -74,6 +74,10 @@ **Ратификация D39:** целевая 7-слойная архитектура + фазовый план — `architecture/09-target-architecture.md`. **Решения владельца (AskUserQuestion):** фазово (трек A ∥ трек B, пере-прогон после B) + слой пар = сеам сейчас/zh→ru. **Док-долг трека A:** формализовать/вычистить фантомный «D35.7»; диспозиции незакрытых владельческих идей (V2-п1/2/3, V4-п1/4). **Мультисессия:** дерево чистое (только `START_PROMT.MD` владельца); написаны `08`/`09` + D39-блок + актуальность-карта + этот журнал; НЕ коммичено (ждёт обзора владельца + git-status перед стейджем). Дальше — хендофф-промты трека A (бэкенд) и трека B (полигон+ресёрч). +## Оркестратор №6 — трек B залендён (D39.1): research/19 нарезка+когезия+волны+пре-рег эмпирики, 2026-07-16 + +Ресёрчер исполнил `RESEARCHER_CHUNKING_COHESION_*` (архивирован с баннером; правки владельца в задаче-1 — роли при чанковании, lost-in-middle — закрыты §A.1/Q2c). **Залендено БЕЗ оркестратор-ревью — прямое решение владельца 16.07** (сессия само-верифицирована: 52 клейма → 36 CONFIRMED/16 OVERSTATED-скорректированы, 65-агентный воркфлоу + 5-линзовое само-ревью, 8 MAJOR исправлены до сдачи). Несущее: **конфликт exp14↔research/18 = ложная дихотомия** (единица эмиссии ≠ окно чтения ≠ единица связности); Go-спека чанкера (профиль→B0–B5→целочисленная DP)+фоллбек-веер; когезия carryover/lookahead/детерм-стейт (не LLM-summary); **волновая архитектура W0–W3** (вводная владельца 16.07 = V4-п1 параллелизм; W1.5-консолидация банка = V4-п4); **§D пре-рег дизайн Q0–Q5** (двойной якорь, reflow-инвариантный omission, карта независимости сигналов, ~$8–15). Открытое: §E.1–4 владельцу (гибрид/пол-в-сиде/транскрипция/бюджет), §E.5–8-бис бэкенду (**⚠ DeepSeek-слаги до 24.07; ⚠ вендор-чек кэша ZAI/GLM**). Разбор — D-лог **D39.1**. Дальше: приёмка трека A пак-1 (адверсариальный воркфлоу; 2 попытки упали на 529-перегрузе API — третья идёт) → промт полигон-эмпирики по §D. V4-п6 (Cloudflare Workers AI) закрыт владельцем самостоятельно — «ловить нечего», в ресёрч-очередь не идёт. + ## Компоненты единого resnapshot залендены (D38.5), 2026-07-12 Оба параллельных deliverable исполнены сессиями + верифицированы оркестратором ИСПОЛНЕНИЕМ + залендены: diff --git a/docs/architecture/05-decisions-log.md b/docs/architecture/05-decisions-log.md index e26f2b5..ed1c5ff 100644 --- a/docs/architecture/05-decisions-log.md +++ b/docs/architecture/05-decisions-log.md @@ -3,7 +3,7 @@ > **⟶ КАРТА АКТУАЛЬНОСТИ (ревизия D31, продлена до D38.2 [12.07]; исторические записи ниже НЕ переписываются — дисциплина D23.3).** Читая контракт целиком, держи под рукой, что чем перекрыто: > - **Полностью superseded:** **D1 (моно-редактор) → D17 → D30.1 (редактор БИЛИНГВ)** · D9 (ja-приёмка) → D18 (蛊真人 zh→ru; ja — второй прогон) · D17 → D30.1 · скобка D19.4 «ключ без data-sharing» и D20.3 «чистый ключ = блокер пилота» → **D27** (единый ключ С data-sharing, отключение перед продом) · exp04-дефолт «editor grok-4.3» (D3) → D30.1 (grok reasoning-off из редакторских ролей СНЯТ — no-op; кандидат glm-5-билингв; gemini — премиум-эскалация только за санитайзером D30.3). > - **Частично амендировано:** D3 (канал B → D14.1/D19.1 + оговорки D22.5/D22.6; апекс-слаг `-preview` — D22.4; draft под вопросом exp13 — D30.6) · D6 («off/minimal для draft/edit» эродирован: draft thinking-ON принудительно, editor-off снят D30.1; живы per-роль принцип и D6.2-буфер) · D10 (+D24.2 alias-слепое пятно, истинная консистентность ≈99.5%) · D11-числа → exp08 → **D30.4** (флип D1 = +15–25%, ~$0.85/ранобэ; «$1.5–2» = неподписанная опция Б) · D12 (+D24.3 флоры max_tokens; +D29.1в rollup — амендмент вердикт-правила) · D13.1-арм из решающего → ПОДТВЕРЖДАЮЩИЙ (D30.1); +D25.3 prefix-анализ судьи · D14.2 закрыт D19.1/D22.4; D14.4 закрыт D22.1 · D15.3 исполнен; спека D15.2: v2→v3→v3.1 (D22.2), реализация = текущий пакет (D30.9) · D24.4 +D28.1 (precision/recall-трейдофф; hard-gate требует пере-замера) · порядок D24.5 отложен D26.1 (этап B — после читаемых 25 глав). -> - **Живое ядро без изменений:** D2 (+новый гейт-класс D30.3), D4, D5, D7, D8, D10-механизм, D12-таксономия отказов, D16, D18, D19.1–19.2, D21 (Ф2-механизмы voice/address/reveal), D22.5–22.7, D23 (golden = инвариант №8), D24–D39 — действующая голова контракта (**D39 = АРХ-РЕСЕТ: синк-аудит сломанного телефона [65 находок, 0 refuted, `08-sync-audit-ledger.md`] + целевая 7-слойная архитектура [`09-target-architecture.md`] + фазовый план [трек A build-now ∥ трек B ресёрч, пере-прогон после]; формализует фантомный «D35.7» как цель слоя 1; терм-дрейф код-корень жив [сид-воркэраунд]; редактор 4-мандата-full-regen = причина инверсий**; D35 = пивот качество-первым; D36 = приёмка research/18; D37 = приёмка exp14: претензия-1=промпт-рычаг; D38 = приёмка exp14b: «только gpt-5.4» ОПРОВЕРГНУТО [mistral/deepseek-pro чинят], фронтир в дефолт НЕ нужен, корень терм-дрейфа = статус-draft сида; **D38.1 = слепой h2h P1a↔F-disc залендён [ChatGPT «фронтир сильнее» / Claude «near-parity» расходятся, СХОДЯТСЯ: дефекты = инфра] → РАЗВОРОТ «мерить→строить», выдан BACKEND_INFRA_PACK; D38.2 = консолидация/док-гигиена: спент exp-скрипты в `eval/exp12|13|14|14b/`, статус-доки+.puml актуализированы; D38.3 = инфра-пак читаемости залендён (санитайзер-классы strip+export + число/omission-гард), верифицирован исполнением [build/vet/test зелёные, 3 span-дефекта запинены]; D38.4 = аудит полноты exp14/14b: чэнъюй-рычаг забыт near-term→дописан в дискурс-промпт; inversion-гард D37 §2г не строился (число/omission ≠ полярность)→editor-swap = защита от инверсий (приоритет↑); нарезка = re-run-арм; гард-тумблер вкл. при resnapshot; D38.5 = компоненты resnapshot залендены+верифицированы [reseed-сид eb409f2 · дискурс+чэнъюй editor v3 0ac5f7a с few_shot-тумблером] → следующий шаг единый resnapshot + пере-прогон**). +> - **Живое ядро без изменений:** D2 (+новый гейт-класс D30.3), D4, D5, D7, D8, D10-механизм, D12-таксономия отказов, D16, D18, D19.1–19.2, D21 (Ф2-механизмы voice/address/reveal), D22.5–22.7, D23 (golden = инвариант №8), D24–D39.1 — действующая голова контракта (**D39.1 = research/19 залендён: конфликт exp14↔research/18 разрешён [эмиссия≠окно≠связность], Go-спека чанкера+когезии, волновая архитектура W0–W3 [вводная владельца: параллелизм], пре-рег эмпирики Q0–Q5; оркестратор-ревью снято владельцем**; **D39 = АРХ-РЕСЕТ: синк-аудит сломанного телефона [65 находок, 0 refuted, `08-sync-audit-ledger.md`] + целевая 7-слойная архитектура [`09-target-architecture.md`] + фазовый план [трек A build-now ∥ трек B ресёрч, пере-прогон после]; формализует фантомный «D35.7» как цель слоя 1; терм-дрейф код-корень жив [сид-воркэраунд]; редактор 4-мандата-full-regen = причина инверсий**; D35 = пивот качество-первым; D36 = приёмка research/18; D37 = приёмка exp14: претензия-1=промпт-рычаг; D38 = приёмка exp14b: «только gpt-5.4» ОПРОВЕРГНУТО [mistral/deepseek-pro чинят], фронтир в дефолт НЕ нужен, корень терм-дрейфа = статус-draft сида; **D38.1 = слепой h2h P1a↔F-disc залендён [ChatGPT «фронтир сильнее» / Claude «near-parity» расходятся, СХОДЯТСЯ: дефекты = инфра] → РАЗВОРОТ «мерить→строить», выдан BACKEND_INFRA_PACK; D38.2 = консолидация/док-гигиена: спент exp-скрипты в `eval/exp12|13|14|14b/`, статус-доки+.puml актуализированы; D38.3 = инфра-пак читаемости залендён (санитайзер-классы strip+export + число/omission-гард), верифицирован исполнением [build/vet/test зелёные, 3 span-дефекта запинены]; D38.4 = аудит полноты exp14/14b: чэнъюй-рычаг забыт near-term→дописан в дискурс-промпт; inversion-гард D37 §2г не строился (число/omission ≠ полярность)→editor-swap = защита от инверсий (приоритет↑); нарезка = re-run-арм; гард-тумблер вкл. при resnapshot; D38.5 = компоненты resnapshot залендены+верифицированы [reseed-сид eb409f2 · дискурс+чэнъюй editor v3 0ac5f7a с few_shot-тумблером] → следующий шаг единый resnapshot + пере-прогон**). Ответ на вопросы бэкенд-сессии (PROGRESS §«Вопросы от бэкенда», §«[НУЖНО РЕШЕНИЕ] перед Фазой 1» — с ревизии D31 в `archive/PROGRESS-2026-07-04-10.md`) и полигона (think-режим). Каждое решение прошло адверсариальную панель из 3 критиков (research / экономика / исполнимость в коде Фазы 0); ни одно не отклонено, все уточнены. Это **контракт Фазы 1** — бэкенд исполняет отсюда; при конфликте с буквой 01-decisions/02-mvp-plan — источник истины здесь (потом сольём в основные доки). @@ -572,3 +572,17 @@ exp14b (D37-мандат) прогнал батарею DET-смысл-трап **Процесс (концерн 5):** постоянный findings-ledger как повторяющийся шаг оркестратора (этот аудит = экземпляр 1, `08-*`); вопросы research/18 §D «к бэкенду» маршрутизируются обратно; completeness-critic на границе фаз. Незакрытые владельческие идеи (input-limit V2-п3, abuse-prescreen V2-п1, user-stop V2-п2, parallelism/speed V4-п1, glossary-auto-build V4-п4, self-improvement V1/V3) — получают явную диспозицию в треке A (док-долг), даже если «Ф2/Ф3». **Курс/столпы целы** (деньги/durability, snapshot, детерм. память, echo-гейт, 18+, дешёвый трек, конфиг-первое ядро); целевая арх = декомпозиция+достройка по сеамам, не переписывание. Планка пере-прогона — 2 претензии (интерим, не пилот Ф2.5). Следующее от оркестратора: хендофф-промты трека A (бэкенд) и трека B (полигон+ресёрч). + +## D39.1 — Трек B: research/19 (нарезка+когезия+контракт t/e+пре-рег эмпирики) ЗАЛЕНДЕН (16.07, оркестратор №6). ✅ + +Сессия-ресёрчер исполнила `RESEARCHER_CHUNKING_COHESION_SESSION_PROMPT` (архив с баннером). Выход: **`docs/research/19-chunking-cohesion.md`** + приложение `-sources.md` (52 несущих клейма: 36 CONFIRMED / 16 OVERSTATED-с-внесёнными-коррекциями; 65-агентный веб-воркфлоу author≠reviewer + 5-линзовое пост-хок само-ревью, 8 MAJOR исправлены до сдачи; §A заморожен sha256 до чтения стека). **Оркестратор-ревью НЕ проводилось — прямое решение владельца 16.07** («сильное ревью уже было, сильная модель верифицировала») — фиксирую отступление от дисциплины research/15–18 как владельческое, не прецедент по умолчанию. + +**Ратифицирую содержание как дизайн-оф-рекорд трека B:** +1. **Конфликт exp14↔research/18 разрешён как ложная дихотомия:** «чанк» склеивал три параметра — **единица эмиссии** (деградация на 2k–8k out; потери смещены в хвост), **окно чтения** (кэш делает префикс дешёвым, но качество падает на длинном входе — Context Rot/NoLiMa), **единица связности** (сцена/глава). Дизайн: мелко-средняя эмиссия + селективное read-only окно + когезия МЕХАНИЗМОМ (carryover/lookahead/детерм. стейт), не размером. +2. **Go-спека чанкера (слой 1):** снапшот-folded конфиг (strategy greedy|logical; бюджет в ВЫХОДНЫХ токенах через калиброванную фертильность); структурный профиль (шаг 0) → классы границ B0–B5 → **DP-упаковка в целых числах** (Кнут-Пласс; никаких float в путевых суммах); фоллбек-веер (плоский текст/стихи/паратекст/мега-предложение); `Chunk` расширяется аддитивно. Анти-скоуп: НЕ LLM-сегментация, НЕ ML-сцены (F1≈24–37%), НЕ эмбеддинг-границы, НЕ LLM-running-summary в проде, НЕ RAG-оверлап. +3. **Когезия (B3):** carryover K=2–3 (src ∥ невыровненный target-хвост) + lookahead M (катафора; параллелизм-безопасен; шов-дедуп-гард — coverage не проверяет верхний len_ratio) + детерминированный сцен-стейт (sticky ids + пол из сида). Новые кнобы `carryover_sentences`/`lookahead_sentences` (мёртвые `stm_depth`/`overlap_tokens` снести); байты — через messages→request_hash, кнобы — в снапшот. +4. **Волновая архитектура W0–W3 (B3-бис, вводная владельца 16.07 = V4-п1):** параллелизм чанков в волнах (W1 черновики параллельно с src-контекстом → **W1.5 глобальная консолидация банка** [= V4-п4 glossary-auto-build; глобальная пост-хок сборка бьёт онлайн-замок — LTCR/BooookScore] → W2 редактура параллельно с draft-соседями → W2.5 швейный микро-пасс по Q5 → W3 reflow-план). Последовательность несут ВОЛНЫ, не чанки; ретрай изолирован (нет каскадной переоплаты). Цена параллелизма (draft-сосед vs final-сосед) — измеряется Q3a. +5. **§D = пре-рег дизайн эмпирики Q0–Q5** (фриз коммитом до первого платного вызова, пинит хеши бэкенда/сида/промтов): корпус S1–S4 (платные армы только zh→ru S1/S2; S3/S4 — $0 чанкер-профилирование, инвариант общности §0.1); маркированный трап-набор 8 типов (стратификация по дистанции антецедента, общий знаменатель контраста — анти-null); армы: Q1 граница (size-match!), Q2a edit=глава (draft приколочен — атрибуция), Q2b ре-атрибуция sizecurve ($0), Q2c широкое-окно/узкая-эмиссия (развязка §A.1), Q3a carryover×3 режима (= цена параллелизма), Q3b lookahead, Q4a сильный переводчик (+do-nothing суб-арм), Q4b diff-редактор, Q4c reflow-пасс, Q0 do-nothing эквивалентность (TOST); двойной якорь A0↔A0′ = floor шума; reflow-инвариантный omission (длино-гарды смещены против крупных чанков); карта независимости сигналов (D32.4-гард); бюджет ~$8–15; человеческий эндпоинт гейтит. +6. **Открытые вопросы:** владельцу — §E.1 (гибрид при ненулевой цене параллелизма? человеческий гейт W1.5 в середине книги?), §E.2 (пол в схеме сида — подпись), §E.3 (транскрипция per-book), §E.4 (бюджет пакета); бэкенду — §E.5–8-бис (аддитивный `Chunk`, кнобы когезии, дифф-apply после Q4b, **⚠ чек слагов DeepSeek до 2026-07-24**, **⚠ вендор-чек префикс-кэша ZAI/GLM** — вся кэш-экономика W1/Q2c условна на нём). + +**Дальше:** полигон-эмпирика по §D — отдельный промт оркестратора (после лендинга трека A пак-1); правки exp14↔research/18-цитат не требуются (оба остаются верными в своих осях — §A.1 их примиряет).