textmachine/CLAUDE.md

7.8 KiB
Raw Blame History

TextMachine — контекст для Claude-сессий

Go-бэкенд издательского художественного перевода крупных текстов (ранобэ/вебновеллы, zh/ja/en→ru) через мультиагентный LLM-пайплайн: черновик DeepSeek → монолингвальный редактор grok-4.3 → судья Gemini (Ф2). Цели: победить translationese; низкий COGS (~$0.69/ранобэ); детерминированный банк памяти книги; 18+ с учётом цензуры; телеметрия денег с первого дня.

Роли сессий и зоны (НЕ править чужую зону)

Роль Зона записи Всё остальное
Бэкенд backend/ читать можно; расхождения — пингом оркестратору в docs/PROGRESS.md
Полигон (eval) eval/ + docs/experiments/ то же
Оркестратор docs/ (architecture/research/PROGRESS), ревью чужого кода read-only ратифицирует решения, пишет хендофф-промты

Координация — журнал docs/PROGRESS.md (секции «Бэкенд»/«Полигон»/«Память»; сверху CURRENT-STATE). Записывай туда краткие итоги своей сессии.

Источники истины (по убыванию)

  1. docs/architecture/05-decisions-log.md (D1D25) — ратифицированный контракт; при конфликте с любым другим доком побеждает он.
  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); слаги моделей не менять без 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 §69 (вердикт/риски/курс).

Текущее состояние (2026-07-11)

Фаза 0 ; машинерия Ф1 построена и отрефакторена (бэкенд №14, полигон №13 — D20D23; golden-гард = инвариант №8, OpenReadOnly-status). Приёмка Ф1 этап A (25 глав 蛊真人 zh→ru, D18) ВЫПОЛНЕНА и ратифицирована с оговорками — D24: $0.41, деньги/kill-9/resume/redrive подтверждены исполнением, дрейф ≈0; флаггер D10 шумел из-за decl-сида → фиксы ратифицированы (floor min_max_tokens D24.3, post-check базовый dst D24.4). research/17 (внешняя критика GPT-5.6) принят — D25 (курс цел; release-state контракт до читательского экспорта, trust boundary в контракт). Книга на стенде /home/ubuntu/books/gu-zhenren/ (GB18030; текст и производные ВНЕ git). ⚠ Качество-первым (D26): первое чтение владельцем 25 глав — нечитаемо (редактура); этап B ЗАМОРОЖЕН до читаемых 25 глав. Бэкенд №5 залендён (D28: floor max_tokens + post-check union, все оси ACCEPT); идёт полигон-диагностика exp12 (POLYGON_QUALITY_DIAG_SESSION_PROMPT.md) → пере-прогон 25 глав выигравшим конфигом → этап B · ридер-IDE ресёрч. Полигон №4 — второй приоритет. Пакет D15.2 — промт после развязки exp12 (D28.4; v3.1-правки первым шагом — D22.2). Решающая точка — пилот Ф2.5 (блокеры: билингв-якорь/аннотаторы ≥3 — D25.9-Q1; ключ xAI един с data-sharing, off перед продом — D27, «чистый ключ» снят). Ключи: DEEPSEEK, ZAI, KIMI, OPENAI, GEMINI, XAI, MISTRAL. Стенд: WSL2, GTX 1070 8GB (прокси-грабли: localhost из-под прокси даёт 403 — no-proxy транспорт для local).