textmachine/CLAUDE.md

42 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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` (D1D17)** — ратифицированный контракт; при конфликте с любым другим доком побеждает он.
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`.
- Дисциплина: не верь заголовкам — грунтуй выводы `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-09)
Фаза 0 ✅; машинерия Ф1 построена и дополнена пакетами 09.07 (память v2 + фиксы D16, `tmctl status`+redrive, reasoning-буфер; пилот-харнесс починен: эхо-контроль, fidelity-ось, M0M3). Оба пакета прошли внешнее ревью (ACCEPT_WITH_FIXES — fix-листы в D-логе §Ратификации 09.07). **Приёмочная книга Ф1 = 蛊真人 zh→ru (D18)**: полный текст на стенде `/home/ubuntu/books/gu-zhenren/guzhenren-gb18030.txt` (GB18030; текст и производные ВНЕ git); 18+ фрагменты берутся из неё же (D14.4 разблокирован). До приёмки: fix-листы, GB18030-ingest, дешёвые гейты, сид-глоссарий, smoke → полный прогон; спека D15.2 — на доработке (реализация заблокирована). Решающая точка — пилот Ф2.5. Ключи: DEEPSEEK, ZAI, KIMI, OPENAI, GEMINI, XAI, MISTRAL. Стенд: WSL2, GTX 1070 8GB (прокси-грабли: localhost из-под прокси даёт 403 — no-proxy транспорт для local).