# TextMachine — контекст для Claude-сессий Go-бэкенд издательского художественного перевода крупных текстов (ранобэ/вебновеллы, zh/ja/en→ru) через мультиагентный LLM-пайплайн: черновик (интерим DeepSeek; переводчик выбирает exp13) → **БИЛИНГВАЛЬНЫЙ редактор (D30.1; кандидат glm-5)** → судья Gemini (Ф2). Цели: победить translationese; низкий COGS (~$0.85/ранобэ после флипа D1 — D30.4); детерминированный банк памяти книги; 18+ с учётом цензуры; телеметрия денег с первого дня. ## Роли сессий и зоны (НЕ править чужую зону) | Роль | Зона записи | Всё остальное | |---|---|---| | **Бэкенд** | `backend/` | читать можно; расхождения — пингом оркестратору в `docs/PROGRESS.md` | | **Полигон (eval)** | `eval/` + `docs/experiments/` | то же | | **Оркестратор** | `docs/` (architecture/research/PROGRESS), ревью чужого кода read-only | ратифицирует решения, пишет хендофф-промты | Координация — журнал `docs/PROGRESS.md` (секции «Бэкенд»/«Полигон»/«Память»/«Голос и состояние»/«Ридер-IDE»; сверху CURRENT-STATE). Записывай туда краткие итоги своей сессии. Закрытая хроника 04–10.07 вынесена в `docs/archive/PROGRESS-2026-07-04-10.md` (D31) — НЕ читать при онбординге, только по конкретной ссылке. ## Источники истины (по убыванию) 1. **`docs/architecture/05-decisions-log.md` (D1–D31)** — ратифицированный контракт; при конфликте с любым другим доком побеждает он; сверху файла — карта актуальности (что чем superseded). 2. `docs/architecture/07-strategic-review.md` — стратегический аудит 09.07 (вердикт, риски, курс-коррекции). 3. `docs/experiments/00-provider-quirks.md` — wire-квирки провайдеров (читать ПЕРЕД правкой адаптеров/вызовами провайдеров). 4. `docs/architecture/01-decisions.md` (Р1–Р10), `02-mvp-plan.md` (фазы v3), `04-unhappy-paths.md`, `06-memory-risk-registry.md`. 5. `docs/research/*` — фактура; часть под ⚠ superseded-баннерами — читай баннер прежде содержимого. 6. `docs/archive/` — закрытые промты, только история. ## Гардрейлы (жёсткие) - **НИКОГДА не читать `.env`** (`backend/.env`, `eval/.env`) — там ключи. `.env.example` можно. - **18+ уровень 3** (несовершеннолетние в сексуальном контексте) — не обрабатывать/не анализировать; `eval/data/refusal_corpus/*` не открывать без прямой задачи владельца. - **PUML не рендерить в svg/png** — владелец смотрит PlantUML-расширением VS Code. - **Коммиты**: английский, одно предложение ≤30 слов, без Co-Authored-By. `.claude/settings.local.json` НЕ коммитить (ломает пермишены). - Провайдерские ловушки: **DeepSeek — НИКОГДА не отключать thinking** (эхо-мина; гейт `echoMineViolation` это принуждает); grok-4.3 reasoning off — только ЯВНЫЙ `reasoning_effort:"none"` (дефолт low; wire-квирк в силе, но из РЕДАКТОРСКИХ ролей reasoning-off снят — no-op, D30.1); слаги моделей не менять без live-фактчека `/models`. **Пробы/запросы падают или ведут себя странно (флейки, 404 живой модели, новый finish_reason, игнор параметров) → идём в официальную доку вендора (deprecations/changelog/status) и гуглим, НЕ гадаем** — интерпретацию аномалии без вендор-сверки в доки/промты не абсорбировать (решение владельца 10.07; правило двух направлений — `00-provider-quirks.md` шапка). - Дисциплина: не верь заголовкам — грунтуй выводы `file:line`/цитатой; спорное верифицируй адверсариально (author≠reviewer); эмпирика на PD-классике из претрейна считается предварительной до вебновелл-среза. - **Git-координация мультисессий:** НИКАКИХ `reset --hard`, перезаписей истории (amend/rebase несвежих коммитов) и `checkout` поверх грязного дерева, пока возможны незакоммиченные правки параллельных сессий — сначала `git status` и опознание ЧУЖИХ изменений; чужое не трогать; history-rewrite — только по согласованию через оркестратора при чистом дереве (урок 09.07: rewrite оркестратора стёр незакоммиченные правки полигона). ## Онбординг новой сессии (порядок чтения) 1. Этот файл → `docs/README.md` (карта) → CURRENT-STATE в `docs/PROGRESS.md`. 2. `docs/architecture/05-decisions-log.md` целиком (контракт). 3. По роли: Бэкенд — `backend/README.md` + `03-implementation-notes.md`; Полигон — `eval/README.md` + `experiments/00` + `09-pilot-protocol.md`; всем — `07-strategic-review.md` §6–9 (вердикт/риски/курс). ## Текущее состояние (2026-07-12, пост-ревизия D31) Фаза 0 ✅; **Ф1-машинерия ✅** (пакеты №1–5, D20–D28; golden-гард = инвариант №8); **приёмка этап A ✅ (D24), этап B заморожен (D26)**. **Качество-первым:** exp12-диагностика принята (D30) — «нечитаемо» = пассивный МОНО-редактор + кривой сид + построчная вёрстка от промптов + нет санитайзера; дефекты смысла — в черновике. **Ратифицировано D30: редактор БИЛИНГВ (флип D1, supersede D17), reflow-вёрстка, output-санитайзер, глоссарий v2 (спорные термины — под подпись владельца), exp13 бейк-офф переводчиков.** **Очередь: бэкенд-пакет D15.2 (`BACKEND_D152_SESSION_PROMPT.md`) ∥ полигон exp13 (`POLYGON_EXP13_SESSION_PROMPT.md`) → единый resnapshot → пере-прогон 25 глав кандидатом (re-gate верности обязателен) → чтение владельца → этап B.** Трек: дешёвые модели сейчас, фронтир потом (конфиг-первая архитектура — D30.7). Ключ xAI: единый, с data-sharing, off перед продом (D27). Решающая точка — пилот Ф2.5 (блокеры: билингв-якорь/аннотаторы ≥3 — D25.9-Q1, корпус, проба судьи-дублёра — D22.6). Книга на стенде `/home/ubuntu/books/gu-zhenren/` (GB18030; текст и ВСЕ производные ВНЕ git). Ключи: DEEPSEEK, ZAI, KIMI, OPENAI, GEMINI, XAI, MISTRAL. Стенд: WSL2, GTX 1070 8GB (прокси-грабли: localhost из-под прокси даёт 403 — no-proxy транспорт для local).