10 KiB
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) — НЕ читать при онбординге, только по конкретной ссылке.
Источники истины (по убыванию)
docs/architecture/05-decisions-log.md(D1–D39.11) — ратифицированный контракт; при конфликте с любым другим доком побеждает он; сверху файла — карта актуальности (что чем superseded).docs/architecture/07-strategic-review.md— стратегический аудит 09.07 (вердикт, риски, курс-коррекции).docs/experiments/00-provider-quirks.md— wire-квирки провайдеров (читать ПЕРЕД правкой адаптеров/вызовами провайдеров).docs/architecture/01-decisions.md(Р1–Р10),02-mvp-plan.md(фазы v3),04-unhappy-paths.md,06-memory-risk-registry.md.docs/research/*— фактура; часть под ⚠ superseded-баннерами — читай баннер прежде содержимого.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-классике из претрейна считается предварительной до вебновелл-среза. - Мандат самопроверки в промтах сессий (обязателен, решение владельца 12.07): промты полигон-сессий — и вообще любых пишущих код / запросы к моделям — ДОЛЖНЫ явно требовать ревью ИСПОЛНЕНИЕМ: своего кода + сформированных запросов к моделям + полученных результатов. Полигон регулярно ошибается/багует, и это искажает эксперименты (D37: заявленные «0 ошибок» = 36 ошибок+биллинг, «13 катастроф» = ~5–6 при оверфлаге судьи; exp13 +10% бюджета). Бэкенд-промты — явный бэкенд-ревью после кода (обычно отрабатывает по опыту, но требовать явно). Пост-хок адверсариальная верификация оркестратора при лендинге — второй рубеж, НЕ замена самопроверки.
- Git-координация мультисессий: НИКАКИХ
reset --hard, перезаписей истории (amend/rebase несвежих коммитов) иcheckoutповерх грязного дерева, пока возможны незакоммиченные правки параллельных сессий — сначалаgit statusи опознание ЧУЖИХ изменений; чужое не трогать; history-rewrite — только по согласованию через оркестратора при чистом дереве (урок 09.07: rewrite оркестратора стёр незакоммиченные правки полигона).
Онбординг новой сессии (порядок чтения)
- Этот файл →
docs/README.md(карта) → CURRENT-STATE вdocs/PROGRESS.md. docs/architecture/05-decisions-log.mdцеликом (контракт).- По роли: Бэкенд —
backend/README.md+03-implementation-notes.md; Полигон —eval/README.md+experiments/00+09-pilot-protocol.md; всем —07-strategic-review.md§6–9 (вердикт/риски/курс).
Текущее состояние (2026-07-19, пост-D39.11 — эра «план→стройка»)
Фаза 0 ✅; Ф1-инфра ✅ (D20–D28; golden = инвариант №8). Арка «качество-первым» D26→D38.5 ЗАКРЫТА (хроника — docs/archive/PROGRESS-2026-07-10-13.md; итог: потолок художественности — в НАШЕЙ организации пайплайна, не в моделях). АРХ-РЕСЕТ D39 (13.07): синк-аудит «сломанного телефона» полигон→оркестратор→бэкенд (65 находок / 0 refuted — architecture/08-sync-audit-ledger.md) → целевая 7-слойная архитектура + фазовый план (architecture/09-target-architecture.md; промпт-тема — 10-prompt-architecture.md); инвариант общности §0.1 — любая книга/пара/структура, пара = ось данных. Трек A (build-now) ЗАКРЫТ (D39.2/39.4/39.5): терм-дрейф закрыт в КОДЕ (trust-gated suppressor), export-contract нормализация + fold-first санитайзер, pair-сеам prompts:{zh-ru} (fail-loud), tmctl export (полигон-экстракция впредь ТОЛЬКО через него), реестры/target-гейты, quality-report. Трек B залендён: research/19 (нарезка+когезия+контракт t/e, W0–W3; D39.1) + research/20 (банк-майнинг W1.5: детектор V-A/B/C, алиас-ярусы, banknote-v1, плагины P1–P6; D39.6). Исследовательская программа ЗАВЕРШЕНА (D39.7–D39.10: exp15+Q4a+exp16; несущее: сцен-детекцию/carryover НЕ строить; слабое звено = редактор → свап-арм; банк W1.5 = детектор-код+банкнота+Палладий+подпись; фертильность 1.20/0.39). Очередь (D39.11): дизайн-синтез сессия (план с верифицированными алгоритмами) → ратификация → бэкенд-пак слоёв 1+4 → единый resnapshot (D30.9) → пере-прогон 3–10 глав → чтение владельца (планка 2 претензии). Стек не менялся с D38.5 (draft flash thinking-ON → editor glm-5 БИЛИНГВ v3 → судья gemini-preview; ~$0.85/ранобэ D30.4). Ключ 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).