13 KiB
TextMachine — контекст для Claude-сессий
Go-бэкенд издательского художественного перевода крупных текстов (ранобэ/вебновеллы, zh/ja/en→ru) через мультиагентный LLM-пайплайн: черновик deepseek-v4-flash → БИЛИНГВАЛЬНЫЙ редактор deepseek-v4-pro ИНТЕРИМ (D30.1/D39.22; 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). Записывай туда краткие итоги своей сессии. Закрытые хроники вынесены в docs/archive/PROGRESS-*.md (три слайса: 04–10 · 10–13 · 13–25.07) — НЕ читать при онбординге, только по конкретной ссылке.
Источники истины (по убыванию)
docs/architecture/05-decisions-log.md(D1–D39.63) — ратифицированный контракт; при конфликте с любым другим доком побеждает он; сверху файла — карта актуальности (что чем superseded). Правило чтения (онбординг-диета 25.07): карта + живая голова (эра D39.x); корпус D1–D38 = справочник — по ссылкам/grep по D-номеру, целиком НЕ читать.docs/experiments/00-provider-quirks.md— wire-квирки провайдеров (читать ПЕРЕД правкой адаптеров/вызовами провайдеров).docs/architecture/09-target-architecture.md(7 слоёв; статус стройки — шапка-таблица) ·12-go-style-notes.md(норматив общности §0) ·10-prompt-architecture.md(промпт-тема).docs/architecture/01-decisions.md(Р1–Р10),02-mvp-plan.md,04-unhappy-paths.md,06-memory-risk-registry.md— тела исторические, читать через ⚠-баннеры 25.07.docs/research/*— фактура; часть под ⚠ superseded/построено-баннерами — читай баннер прежде содержимого.docs/archive/— история: закрытые промты (prompts/) · отчёты паков с ревью-шапками (reports/) · исполненные арх-доки (architecture/: 07 стратревью · 08 синк-ледджер · 11 план пака-11).
Гардрейлы (жёсткие)
- НИКОГДА не читать
.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; ⚠ «слаг живой» ≠ «модель та же» — DeepSeek 31.07 сменил веса под слагом (D39.61), при аномалиях сверять поведение и вендор-лог обновлений. Пробы/запросы падают или ведут себя странно (флейки, 404 живой модели, новый finish_reason, игнор параметров) → идём в официальную доку вендора (deprecations/changelog/status) и гуглим, НЕ гадаем — интерпретацию аномалии без вендор-сверки в доки/промты не абсорбировать (решение владельца 10.07; правило двух направлений —00-provider-quirks.mdшапка). - Дисциплина: не верь заголовкам — грунтуй выводы
file:line/цитатой; спорное верифицируй адверсариально (author≠reviewer); эмпирика на PD-классике из претрейна считается предварительной до вебновелл-среза. - Общность движка (владелец 24.07): Go-логика НЕ ветвится по паре/книге; пара-данные →
internal/lang+configs/langpacks/, книго-каноны → сид/brief (данные); книжный термин в общем пар-слое = утечка. Тест-данные пары легитимны. Норматив (только больные места):docs/architecture/12-go-style-notes.md. Ревью-вопрос по умолчанию: «заработает ли на паре, которой в репо ещё НЕТ, без правки Go?» - Мандат самопроверки в промтах сессий (обязателен, решение владельца 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: карта актуальности (шапка) + живая голова (D39.x). Целиком НЕ читать — корпус D1–D38 по ссылкам/grep по мере надобности.- По роли: Бэкенд —
backend/README.md+03-implementation-notes.md(через баннер) +12-go-style-notes.md; Полигон —eval/README.md+experiments/00+09-pilot-protocol.md; всем — шапка-таблица09-target-architecture.md(статус слоёв).
Текущее состояние (2026-08-01, голова D39.63 — эра «общность → автономность банка»)
- Сделано: Ф0 ✅ · Ф1-инфра ✅ · арх-ресет D39 (7 слоёв, паки 11–16) ✅ · паки 17–20 ✅ (канал B · долги контракта · голос/состояние · банк+терминолог; D39.26–56) · мини-прогон (D39.37) и ХОЛОДНЫЙ прогон (D39.58: recall банка майнер∪банкнота 0.918/0.980, банк приходит переведённым) приняты · карта языковой привязки движка (D39.60): долг 149 сайтов/45 файлов, книго-ось чиста (4 сайта), ja→ru безопасно без правки Go, en→ru — нет · Р1–Р4 закрыты (D39.63: Р2 = детекторы единиц судят ЗНАЧЕНИЕ; Р4 = потолок recall в контракт правила) · пак-21 растворён (D39.62) · жанровый словарь ОТМЕНЁН КАК КЛАСС (D39.47) · петля ремонта построена и НЕ включается (D39.38).
- Сейчас ПАРАЛЛЕЛЬ (D39.62): бэкенд — фаза 2 общности ($0-код: П0 хеш эмбед-данных → П1 цель-шов → П2 скрипт-шов → П3 нарезка/оценка → П4 пак-манифест + шестёрка чекер-фиксов + малые 77/78; промт
docs/BACKEND_GENERALITY_PHASE2_SESSION_PROMPT.md) ∥ полигон — $0-сырьё арки автономности банка (консистентность терминолога · веса консолидации · аудит типов 36а; промтdocs/POLYGON_BANK_RAWMATERIAL_SESSION_PROMPT.md). Перекупок на этой фазе нет — стендовый корпус одноразовый (D39.63). - ⚠ DeepSeek-V4-Flash-0731 (31.07): веса сменились ПОД ТЕМ ЖЕ СЛАГОМ — боевая черновая форма покупает пустые ответы; платные прогоны СТОП до ре-пробы (бэклог-строка 74, оперативно «ждём»; v4-pro/редактор не тронут).
- Очередь дальше (D39.62): дизайн арки АВТОНОМНОСТИ банка (подпись владельца опциональна — банк обязан приходить качественным автономно, D39.59) → ре-проба flash → свежий мини-прогон на новом стеке (оси голоса · авто-режим · итерация №2 редакторов) → свип гипотез → добор идеала → вторая пара живьём (ja→ru) → МАСШТАБ → пилот Ф2.5 → Ф3 ридер-IDE.
- Стек: draft deepseek-v4-flash thinking-ON (+банкнота) ⚠0731 → терминолог (та же дешёвая модель, батчи) → editor deepseek-v4-pro БИЛИНГВ ИНТЕРИМ (glm-5 резерв) → судья gemini-preview + grok-фолбэк 18+ (Ф2, только полигон). ~$0.85/ранобэ (D30.4) — пере-калибровка после развилки 74; терминолог — центы на выборках, ≈$1.10 полный банк.
- Висит на владельце + открытые петли: ЕДИНЫЙ БЭКЛОГ — таблица в
docs/PROGRESS.md(единственное место). Стоячие: ToS-триггер 25.10 · Ш-2 трипваер до go1.27. - Стенд: WSL2, GTX 1070 8GB (localhost из-под прокси = 403 — no-proxy транспорт для local). Книга
/home/ubuntu/books/gu-zhenren/(GB18030; текст и производные ВНЕ git).