Sync status docs with D18-D21, narrow grok quirks line per D19.1, archive voice-state prompt, issue backend package-3 handoff prompt
This commit is contained in:
parent
22cd5e5b91
commit
be7388128b
8 changed files with 63 additions and 19 deletions
|
|
@ -14,7 +14,7 @@ Go-бэкенд издательского художественного пер
|
|||
|
||||
## Источники истины (по убыванию)
|
||||
|
||||
1. **`docs/architecture/05-decisions-log.md` (D1–D17)** — ратифицированный контракт; при конфликте с любым другим доком побеждает он.
|
||||
1. **`docs/architecture/05-decisions-log.md` (D1–D21)** — ратифицированный контракт; при конфликте с любым другим доком побеждает он.
|
||||
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`.
|
||||
|
|
@ -39,4 +39,4 @@ Go-бэкенд издательского художественного пер
|
|||
|
||||
## Текущее состояние (2026-07-09)
|
||||
|
||||
Фаза 0 ✅; машинерия Ф1 построена и дополнена пакетами 09.07 (память v2 + фиксы D16, `tmctl status`+redrive, reasoning-буфер; пилот-харнесс починен: эхо-контроль, fidelity-ось, M0–M3). Оба пакета прошли внешнее ревью (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).
|
||||
Фаза 0 ✅; машинерия Ф1 построена и дополнена пакетами №1–2 обеих сессий (память v2 + фиксы D16, `tmctl status`+redrive, reasoning-буфер, GB18030-ingest, 4 дешёвых стиль-флаггера; пилот-харнесс починен; exp10 — violence-рука канала B). Все пакеты залендены после внешнего ревью; research/15 «Голос и состояние» принят (D21). **Приёмочная книга Ф1 = 蛊真人 zh→ru (D18)**: полный текст на стенде `/home/ubuntu/books/gu-zhenren/guzhenren-gb18030.txt` (GB18030; текст и производные ВНЕ git); violence-18+ закрыт из неё же; остаток D14.4 — erotica-срез (полигон-сессия в работе). До приёмки: финализация сида (gender=hidden), бэкенд-пакет №3 (fix-лист D20.4, D15.2 v3 — реализация после этих правок, D3-цепочка), приёмочная сессия (glm-5-редактор допустим — D20.3). Решающая точка — пилот Ф2.5 (блокер — чистый xAI-ключ). Ключи: DEEPSEEK, ZAI, KIMI, OPENAI, GEMINI, XAI, MISTRAL. Стенд: WSL2, GTX 1070 8GB (прокси-грабли: localhost из-под прокси даёт 403 — no-proxy транспорт для local).
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# backend/ — Go-бэкенд TextMachine
|
||||
|
||||
Зона сессии «Бэкенд». Контракт — `docs/architecture/05-decisions-log.md` (D1–D18); контракты Фазы 0 — `03-implementation-notes.md`; квирки провайдеров — `docs/experiments/00-provider-quirks.md`. **`.env` не читать.**
|
||||
Зона сессии «Бэкенд». Контракт — `docs/architecture/05-decisions-log.md` (D1–D21); контракты Фазы 0 — `03-implementation-notes.md`; квирки провайдеров — `docs/experiments/00-provider-quirks.md`. **`.env` не читать.**
|
||||
|
||||
## Карта пакетов
|
||||
|
||||
|
|
@ -44,4 +44,4 @@ set -a; . ./.env; set +a; TM_LIVE=1 go test -tags live -run TestLive -v ./intern
|
|||
|
||||
## Известный техдолг (не трогать молча — см. D-лог)
|
||||
|
||||
F3 at-most-once (после status/redrive); Escal.Chains — валидируемый мёртвый конфиг (раннер читает только `escalate_to`, полные цепочки = шаг 7); модели D3-эскалации не заведены в `models.yaml` (интерим-заглушки помечены); min-budget Kimi≥16k/Gemini≥8k — комментарии, не схема; фиксы границ памяти D16.
|
||||
F3 at-most-once (после D15.2); Escal.Chains — валидируемый мёртвый конфиг (раннер читает только `escalate_to`, полные цепочки = шаг 7); модели D3-эскалации не заведены в `models.yaml` (интерим-заглушки помечены — пакет №3); min-budget Kimi≥16k/Gemini≥8k — комментарии, не схема; fix-лист №3 (D20.4) + v3-правки спеки D15.2 (D20.1) — промт пакета №3.
|
||||
|
|
|
|||
44
docs/BACKEND_SESSION_PROMPT_PACKAGE3.md
Normal file
44
docs/BACKEND_SESSION_PROMPT_PACKAGE3.md
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
# Промт: бэкенд-сессия — пакет №3: D15.2 v3 + fix-лист D20.4 + заводка цепочки D3 (2026-07-09)
|
||||
|
||||
Скопируй в новую сессию Claude Code в `/home/ubuntu/projects/textmachine`.
|
||||
|
||||
---
|
||||
|
||||
## Кто ты и где ты
|
||||
|
||||
Ты — **бэкенд-сессия** проекта **TextMachine** (Go-бэкенд издательского перевода ранобэ/вебновелл zh/ja/en→ru мультиагентным LLM-пайплайном). Зона записи — **`backend/`** + твоя запись в `docs/PROGRESS.md` §Бэкенд. `eval/` только читать; `architecture/*`/`research/*` не редактировать — расхождения пингом оркестратору в журнале. Гардрейлы `CLAUDE.md` (автозагружен) жёсткие: **`.env` не читать; коммитить только по просьбе** (оркестратор примет после внешнего ревью); никаких деструктивных git-операций при возможных чужих незакоммиченных правках (параллельно работает полигон-erotica); DeepSeek thinking НЕ отключать (эхо-мина); grok off — только явный `reasoning_effort:"none"`; слаги моделей не менять без live-фактчека.
|
||||
|
||||
## Онбординг (~40 мин)
|
||||
|
||||
1. `CLAUDE.md` → `docs/README.md` → CURRENT-STATE в `docs/PROGRESS.md`.
|
||||
2. **`docs/architecture/05-decisions-log.md`**: контракт этого пакета — **D20 (§1 v3-правки спеки + §4 fix-лист + §2 ответы на твои §13-вопросы)**, D3+D19.1 (состав цепочек и канала B), **D21 пп.6/10** (анти-эхо гейтится — промпты в этом пакете НЕ трогать; твои поручения).
|
||||
3. `backend/README.md` (инварианты — ломать нельзя), **`docs/experiments/00-provider-quirks.md` ЦЕЛИКОМ перед задачей 3** (capability-квирки; строка grok сужена по D19.1 — прочитай именно свежую версию).
|
||||
4. Твоя спека: `backend/docs/D15.2-content-addressed-resume-spec.md` (v2 — направление ратифицировано D20.1, реализация разблокируется твоими v3-правками).
|
||||
|
||||
## Задача 1 — спека D15.2 v3 (разблокирует реализацию; D20.1)
|
||||
|
||||
Три правки, обе стороны маленькие, но контрактные:
|
||||
- **(а) role + имя стадии в guard_hash** — без них формула НЕ суперсет текущей защиты: конструируемый stale-VERDICT fast-path hit при флипе роли; клейм «строго сильнее» пока ложен. Покажи в спеке контрпример и как правка его закрывает.
|
||||
- **(б) аналитическое правило editor-каскада в dry-run §7:** любая стадия НИЖЕ re-bill-юнита того же чанка считается re-bill (иначе консент-проекция занижает ~2× на самом дорогом классе правок — temp/reasoning/model translator'а).
|
||||
- **(в) доукомплектовать полевой маппинг §4:** `style_check_version`; слой YoPolicy/StyleAllowlist («dropped: live-recomputed, класс post-check»); memoryNormVersion (target-часть) — и в postcheck-версию; судьба `jobs.snapshot_id` одним предложением; verdict-фолд конфига гейтов только при enabled (дисциплина coverageSnap).
|
||||
|
||||
Если спека v3 ляжет рано и останется бюджет сессии — реализацию НЕ начинай без пинга оркестратору (ратификация v3 — его подпись; D20.2-ответы про `--accept-rebill[=usd]` и пер-стадийную гранулярность уже даны — учти их в тексте v3).
|
||||
|
||||
## Задача 2 — fix-лист D20.4 (не блокирует приёмку, закрыть в этом пакете)
|
||||
|
||||
(а) README `backend/`: «миграции v1–v6» → v7 (устарело в твоём же пакете №2); (б) **cheap-gates v2** — 3 ложных срабатывания адверсариального ревью: «-цитата с начала строки как «смешение стилей»; 万 в составе имени + постороннее число в выводе; перефраз магнитуды + год; правка правил = громкий bump `cheapGateVersion`; + note про дефисные редупликации мимо блок-листа; (в) **NUL-гард на GB18030/UTF-16-путях декода** (сейчас только UTF-8); (г) `tmctl redrive --resnapshot` молча игнорируется — сделай ошибкой или поддержи; (д) style-колонка в human-таблице глав `status` (косметика); (е) report без API-ключей для read-only аудита (опционально). Каждый содержательный фикс — mutation-verified (реверт фикса валит именно его тест — дисциплина пакета №2).
|
||||
|
||||
## Задача 3 — заводка цепочки D3 / канала B в конфиг (гейтит приёмку D18)
|
||||
|
||||
- Провайдеры `gemini`/`openai`/`mistral` + модели `deepseek-v4-pro`, `glm-5.1`, `gemini-3.1-pro`, `mistral-large-2512` в `models.yaml` с ценами и capability-декларациями (budget_field/temperature/reasoning_control по квиркам exp00). **Каждый слаг — live-фактчек: `/models` И пробный вызов** (урок «есть в /models ≠ работает» и наоборот; research/15 поймал интермиттентный 404 у gemini-2.5-flash). Цену Mistral возьми с официального прайса с датой/URL (полигон перепроверяет параллельно — D19.5б; при расхождении с их числом — пинг).
|
||||
- Эскалационные цепочки вместо `[kimi-k2.6]`-заглушек: канал A translator `escalate_to` — минимум одна модель ДО приёмочного прогона (D18: deepseek-эхо 25% на приёмочной книге — эскалация будет стрелять); полная цепочка A = v4-pro → glm-5.1 → gemini-3.1-pro. Канал B по D19.1 (Mistral-переводчик, grok-4.3 reasoning-ON эскалация) — конфиг-слоты; полный wiring канала B — Ф2, но конфиг не должен ему противоречить (adult-линт D20.2-Q3).
|
||||
- grok reasoning-ON эскалация биллится через additive reasoning-буфер `EstimateUSD` (лендился пакетом №1) — сверь, что xAI-путь его реально использует (тест).
|
||||
- Gemini 3.1 Pro: mandatory thinking — адаптер молча глотает `reasoning:"off"` (D6.3), reasoning-as-output в ценах.
|
||||
|
||||
## Задача 4 — мелочи D21.10 (БЕЗ кода памяти и БЕЗ правки промптов)
|
||||
|
||||
(а) Резервирование места в схеме банка v2 под будущие типы записей: `voice_profile`, `address_pair`, `reveal_ch`+pre/post-reveal алиасы — **только design-note в спеке/комментарии схемы, НЕ миграция, НЕ код** (механизмы Ф2, D21.1–3; address_pair = материализация журнала ты/вы D7 — учти в note единственность источника истины). (б) Wire-probe в бэклог (можно в этом пакете, если дёшево): пишется ли `temperature` в thinking-канале DeepSeek — вендор-док говорит «молча игнорируется», значит temp 0.3 драфта возможно no-op; зафиксируй фактом (3×2 вызова, дисперсия). (в) **Промпты ролей в этом пакете НЕ трогать**: анти-эхо правки (микро-few-shot, постинструкция) гейтятся fidelity-хвостом полигона (D21.6), языковые констрейнты в reasoning-off пути запрещены (P4-инверсия 3/10→9/10).
|
||||
|
||||
## Приёмка сессии
|
||||
|
||||
Спека v3 закрывает три пункта D20.1 (с контрпримером для «а»); fix-лист D20.4 закрыт (mutation-verified); цепочка D3/канал B заведены, `CheckRunnable` и adult-линт проходят, слаги live-фактчекнуты с датами; `go build ./... && go vet ./... && go test ./... -race` зелёные; финал — агентское адверсариальное селфревью (дисциплина пакетов №1–2). Запись в `docs/PROGRESS.md` §Бэкенд: что сделано, находки, вопросы оркестратору/владельцу. **Ничего не коммитить** — внешнее ревью и лендинг у оркестратора.
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
# Журнал прогресса
|
||||
|
||||
> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (обновляемый блок; на 2026-07-09). **Источник истины по РЕШЕНИЯМ — `architecture/05-decisions-log.md` (D1–D17); этот файл — ЖУРНАЛ, не спека.**
|
||||
> - **Фаза:** 0 (каркас) завершена; машинерия Фазы 1 в основном построена — банк памяти v2, чанкер + txt/epub импорт, disposition/coverage-гейт/эскалация, durable resume, глоссарий→редактор. **Проведено стратегическое ревью (`architecture/07-strategic-review.md`, 09.07): архитектура end-to-end цела; ратифицирован пакет пост-ревью решений D13–D17.** Следующее: пакет фиксов D15/D16 (бэкенд, **D16 лендится 09.07 — `memmatch-v3`**) → реальный ja→ru прогон end-to-end → пилот Ф2.5. **Пилот-харнесс D13 ПОЧИНЕН (полигон, 09.07): memory_eval эхо-контроль+fidelity-ось+M0–M3+Go-синк, индикатив пере-прогнан (M1≈M2 банк оправдан; M3 роняет верность −45.6 → страх владельца подтверждён); exp09 v2; Mistral заведён (D14.2, refusal 11/11 ok); kana-precision (MIN=3 подтверждён); вебновелл-срез готов.**
|
||||
> - **Стек (2026-07-05, подтверждён ревью):** черновик DeepSeek V4 Flash · редактор **grok-4.3** (thinking-OFF через ЯВНЫЙ `reasoning_effort:none` — дефолт grok = `low`; D1-монолингв оспорен внешним замером — решает пилот-арм D13.1/D17) · судья/апекс Gemini 3.1 Pro (mandatory thinking) · эскалация A: DeepSeek V4 Pro → GLM-5.1 → Gemini · канал B (18+): Grok + локальная abliterated (**DeepSeek для explicit ЗАПРЕЩЁН его ToS — D14.1; Mistral — кандидат-фолбэк после пробы, D14.2**). Anthropic выброшен, OpenAI оставлен. 6 ключей.
|
||||
> - **Экономика:** `experiments/08-cost-model-v2.md` (~$0.69 ранобэ / ~$10.94 вебновелла-500) — заменяет старые пороги $0.6 / $5 / $30. ⚠ Resume: любой `--resnapshot` = переоплата книги — онгоинг гейтится D15.2.
|
||||
> - **Ждём от владельца:** 3–5 глав реальных вебновелл (вся текущая эмпирика — классика из претрейна) + explicit-фрагменты для 18+ руки (единственный critical ревью) + провенанс двух внешних 12-*-доков.
|
||||
> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (обновляемый блок; на 2026-07-09, ночь). **Источник истины по РЕШЕНИЯМ — `architecture/05-decisions-log.md` (D1–D21); этот файл — ЖУРНАЛ, не спека.**
|
||||
> - **Фаза:** 0 ✅; машинерия Ф1 построена и дополнена пакетами №1–2 обеих сессий (память v2 + D16-фиксы, `tmctl status`+redrive, reasoning-буфер, GB18030-ingest с CJK-сплитом глав, 4 дешёвых стиль-флаггера; пилот-харнесс починен: эхо-контроль/fidelity/M0–M3/Go-синк; exp10 — violence-рука канала B). Все пакеты залендены после внешнего ревью; **research/15 «Голос и состояние» принят и ратифицирован (D21)**. **Приёмка Ф1 = 蛊真人 zh→ru (D18)**; до неё: финализация сида (gender=hidden 白凝冰 — полигон), бэкенд-пакет №3 (fix-лист D20.4 + D15.2 v3 + D3-цепочка — промт выдан), приёмочная сессия (glm-5-редактор допустим — D20.3). Решающая точка — пилот Ф2.5 (блокеры: чистый xAI-ключ, корпус 25–35 глав, аннотаторы ≥3). Параллельно в работе: полигон-erotica (закрытие D14.4).
|
||||
> - **Стек:** черновик DeepSeek V4 Flash (thinking ON — эхо-мина) · редактор **grok-4.3** `reasoning_effort:none` (дефолт grok = `low`; D1-монолингв оспорен — решает пилот-арм D13.1/D17) · судья/апекс Gemini 3.1 Pro (mandatory thinking) · эскалация A: DeepSeek V4 Pro → GLM-5.1 → Gemini (заводка цепочки — пакет №3) · **канал B (18+) v2 по D19.1: переводчик Mistral · эскалация grok-4.3 reasoning-ON · abliterated-скрининг · судьи Grok+Gemini** (DeepSeek в explicit запрещён ToS — D14.1). Anthropic выброшен, OpenAI оставлен. 7 ключей (+MISTRAL).
|
||||
> - **Экономика:** `experiments/08-cost-model-v2.md` (~$0.69 ранобэ / ~$10.94 вебновелла-500) — заменяет старые пороги $0.6 / $5 / $30. ⚠ Resume: любой `--resnapshot` = переоплата книги — онгоинг гейтится D15.2 (реализация после v3-правок, пакет №3); exp08 v3 (annotator/voice-строки) заказан D21.8.
|
||||
> - **Ждём от владельца:** чистый xAI-ключ без data-sharing (блокер пилота, не приёмки — D20.3) · ja-erotica книга в `/home/ubuntu/books/` (остаток D14.4) · провенанс двух внешних 12-*-доков · решение по юр-пакету.
|
||||
> - Записи ниже — хронология; РАННИЕ (день-0, 04.07) содержат устаревшие цифры/решения (COGS $2–4, BYOK, Anthropic-Sonnet), переопределённые позже — см. блок выше и 05-decisions-log.
|
||||
|
||||
## 2026-07-04 — Старт проекта (MVP-сессия)
|
||||
|
|
|
|||
|
|
@ -11,17 +11,17 @@
|
|||
|
||||
## Структура
|
||||
|
||||
- `architecture/` — синтез. **Источник истины по решениям — [`05-decisions-log.md`](architecture/05-decisions-log.md) (D1–D17); при конфликте с любым доком он выше.**
|
||||
- `architecture/` — синтез. **Источник истины по решениям — [`05-decisions-log.md`](architecture/05-decisions-log.md) (D1–D21); при конфликте с любым доком он выше.**
|
||||
- `01-decisions.md` — принципы Р1–Р10; `02-mvp-plan.md` — фазы и приёмка (v3, 09.07); `03-implementation-notes.md` — контракты Фазы 0; `04-unhappy-paths.md` — ~70 режимов отказа → механизм; `06-memory-risk-registry.md` — реестр рисков банка памяти; **[`07-strategic-review.md`](architecture/07-strategic-review.md) — стратегический аудит (09.07): вердикт end-to-end, топ-риски, курс-коррекции**; `components.puml`/`pipeline.puml` — диаграммы v3 (владелец смотрит PlantUML-расширением VS Code; вручную НЕ рендерить).
|
||||
- `experiments/` — эмпирика «Полигона»: `00-provider-quirks` (читать перед любым вызовом провайдера), `01-token-calibration`, `02-refusal-benchmark`, `03-local-stand`, `04-editor-quality`, `06-local-extraction`, `07-coverage-precision`, `08-cost-model-v2` (актуальная денежная модель), `09-pilot-protocol` (пилот Ф2.5 + поправки D13).
|
||||
- `research/` — фактура исследований 04–05.07: `01–10` базовые, `11-gap-*` добор критиком, `12-*` режимы отказа/отзывы/таксономии (+ два внешних материала с провенанс-шапками), `13` валидация памяти, `14` адаптивная память. ⚠ Часть под superseded-баннерами (01/02/03/04/05/09 и gap-1/2/5) — **читай баннер прежде содержимого**.
|
||||
- `experiments/` — эмпирика «Полигона»: `00-provider-quirks` (читать перед любым вызовом провайдера), `01-token-calibration`, `02-refusal-benchmark`, `03-local-stand`, `04-editor-quality`, `06-local-extraction`, `07-coverage-precision`, `08-cost-model-v2` (актуальная денежная модель), `09-pilot-protocol` (пилот Ф2.5 + поправки D13), `10-explicit-benchmark` (18+ violence-рука канала B; erotica-расширение в работе).
|
||||
- `research/` — фактура исследований 04–05.07: `01–10` базовые, `11-gap-*` добор критиком, `12-*` режимы отказа/отзывы/таксономии (+ два внешних материала с провенанс-шапками), `13` валидация памяти, `14` адаптивная память, `15` голос и состояние (принят, D21). ⚠ Часть под superseded-баннерами (01/02/03/04/05/09 и gap-1/2/5) — **читай баннер прежде содержимого**.
|
||||
- `PROGRESS.md` — **журнал** (CURRENT-STATE сверху, ниже хронология; НЕ источник решений).
|
||||
- **Активные хендофф-промты**: [`ORCHESTRATOR_SESSION_PROMPT.md`](ORCHESTRATOR_SESSION_PROMPT.md) (**передача роли оркестратора** — ревью пакетов, ратификации, промты) · [`POLYGON_SESSION_PROMPT_EROTICA.md`](POLYGON_SESSION_PROMPT_EROTICA.md) (erotica-срез 18+ по трём парам, закрытие D14.4 + fix-лист + финализация сида) · [`VOICE_STATE_RESEARCH_SESSION_PROMPT.md`](VOICE_STATE_RESEARCH_SESSION_PROMPT.md) (ресёрч «Голос и состояние» → research/15, в полёте).
|
||||
- **Активные хендофф-промты**: [`ORCHESTRATOR_SESSION_PROMPT.md`](ORCHESTRATOR_SESSION_PROMPT.md) (роль оркестратора — ревью пакетов, ратификации, промты) · [`POLYGON_SESSION_PROMPT_EROTICA.md`](POLYGON_SESSION_PROMPT_EROTICA.md) (erotica-срез 18+ по трём парам, закрытие D14.4 — в работе) · [`BACKEND_SESSION_PROMPT_PACKAGE3.md`](BACKEND_SESSION_PROMPT_PACKAGE3.md) (пакет №3: D15.2 v3 + fix-лист D20.4 + цепочка D3). Ресёрч «Голос и состояние» завершён (research/15, D21) — промт в `archive/prompts/`.
|
||||
- `archive/` — закрытые сессионные промты (только история, инструкции оттуда не исполнять).
|
||||
|
||||
## Статус (2026-07-09)
|
||||
|
||||
Фаза 0 ✅ (приёмка на живых ключах). Машинерия Фазы 1 в основном построена: банк памяти v2, чанкер+импорт+ruby, disposition/coverage/эскалация, durable resume, монолингвальный редактор с констрейнтами. Проведено стратегическое ревью (`architecture/07`): архитектура end-to-end цела; до приёмки Ф1 — пакет фиксов D15/D16, status/redrive, дешёвые гейты, ja→ru прогон end-to-end. Решающая точка — пилот Ф2.5 (харнесс чинится до прогона, D13); его блокеры — вебновелл-корпус и explicit-фрагменты от владельца.
|
||||
Фаза 0 ✅ (приёмка на живых ключах). Машинерия Фазы 1 построена и дополнена пакетами №1–2: банк памяти v2 + D16-фиксы, `tmctl status`+redrive, GB18030-ingest, дешёвые стиль-гейты, пилот-харнесс починен (D13), violence-рука канала B (exp10), research/15 «Голос и состояние» принят (D21). Приёмка Ф1 — на 蛊真人 zh→ru (D18); до неё: финализация сида, бэкенд-пакет №3 (D20.4 + D15.2 v3 + D3-цепочка), приёмочная сессия. Решающая точка — пилот Ф2.5; его блокеры — чистый xAI-ключ (владелец), корпус 25–35 глав, аннотаторы ≥3. Параллельно: полигон-erotica (закрытие D14.4).
|
||||
|
||||
## Доступные ключи от моделей
|
||||
DEEPSEEK_API_KEY, ZAI_API_KEY, KIMI_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, XAI_API_KEY MISTRAL_API_KEY
|
||||
DEEPSEEK_API_KEY, ZAI_API_KEY, KIMI_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, XAI_API_KEY, MISTRAL_API_KEY
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
| **Gemini 3.1 Pro** | thinking **обязателен** | `thinking_budget:0` → HTTP 400 «only works in thinking mode». НЕ отключать; дать большой `max_tokens` (≥8000) |
|
||||
| gpt-5-mini (reasoning) | reasoning ON, выжигал бюджет → пустой ответ | `reasoning_effort: "minimal"`; **без `temperature`**; `max_completion_tokens` вместо `max_tokens` |
|
||||
| **Kimi K2.6** | думающая, **очень многословная**: ~11k reasoning-токенов на абзац; reasoning в `reasoning_content`, ответ в `content`; при малом бюджете reasoning съедает лимит → `content` **пуст** (finish=length, не ошибка!) | дать `max_tokens` ≥16000; ответ из `content`. **Дорогой в роли редактора** — reasoning биллится как выход |
|
||||
| **grok-4.3 (xAI)** | reasoning **ON по дефолту = `low`** (must-be-explicit: не задал → думает) | **Off-switch (Chat Completions) — ПЛОСКИЙ `reasoning_effort:"none"` в теле** (`reasoning_effort` ∈ {none,low,medium,high}). ⚠ **Вложенная форма `extra_body.reasoning.effort:"none"` — это Responses API; Chat Completions её МОЛЧА ГЛОТАЕТ** (остаётся дефолт `low`) — из-за этого exp08-проба ложно решила «не отключается». Проверено 05.07: `reasoning_effort:"none"`→`usage.reasoning_tokens=0`, дефолт→444, `low`→384 (на правке ~2000 ток.). reasoning у xAI **аддитивен к completion** (billed = completion+reasoning). `grok-4.20-0309-non-reasoning` = grok-4.3 + `effort:none` под капотом (ретайр 15.05.2026) → слаг не нужен, слать `none` явно. Для роли editor/translator — ВСЕГДА явный `reasoning_effort:"none"`. Источник: docs.x.ai/developers/model-capabilities/text/reasoning. |
|
||||
| **grok-4.3 (xAI)** | reasoning **ON по дефолту = `low`** (must-be-explicit: не задал → думает) | **Off-switch (Chat Completions) — ПЛОСКИЙ `reasoning_effort:"none"` в теле** (`reasoning_effort` ∈ {none,low,medium,high}). ⚠ **Вложенная форма `extra_body.reasoning.effort:"none"` — это Responses API; Chat Completions её МОЛЧА ГЛОТАЕТ** (остаётся дефолт `low`) — из-за этого exp08-проба ложно решила «не отключается». Проверено 05.07: `reasoning_effort:"none"`→`usage.reasoning_tokens=0`, дефолт→444, `low`→384 (на правке ~2000 ток.). reasoning у xAI **аддитивен к completion** (billed = completion+reasoning). `grok-4.20-0309-non-reasoning` = grok-4.3 + `effort:none` под капотом (ретайр 15.05.2026) → слаг не нужен, слать `none` явно. Для роли РЕДАКТОРА (ru-вход) — ВСЕГДА явный `reasoning_effort:"none"`; для роли ПЕРЕВОДЧИКА на плотном CJK reasoning-off НЕПРИГОДЕН (D19.1: эхо 4/10 + дегенеративный луп; ⚠ языковой констрейнт в system при `none` ИНВЕРТИРУЕТ эхо 3/10→9/10 — research/15 P4) — эскалация канала B идёт reasoning-ON. *(Сужено оркестратором по D19.1/D21; было «editor/translator».)* Источник: docs.x.ai/developers/model-capabilities/text/reasoning. |
|
||||
| Qwen3.5 / локальные | thinking ON | ollama: `think: false` + `num_predict` cap. Иначе рассуждения (в поле `thinking`, не `response`) забивают контекст |
|
||||
|
||||
**Находка (эксп. 03):** reasoning реально улучшает реалии/имена в переводе (羅生門: «Радзёмон»→«Рашо-мон»), но локально нежизнеспособен (8.6 мин/фрагмент). **Открытый вопрос для бэкенда: проверить think-ON на быстром облачном черновике/редакторе как рычаг качества.**
|
||||
|
|
@ -63,7 +63,7 @@
|
|||
- **Grok 4.1 Fast retired 15.05.2026** → слаги молча редиректят на `grok-4.3` (цена ×9). Ретайрнулся дешёвый тир, НЕ сам xAI: grok-4.3 остаётся основным пермиссивным тиром канала B.
|
||||
- **Аудит /models 04.07.2026 (воркфлоу) — с поправкой на перепроверку:** и `deepseek-chat`, и `grok-4-fast` НЕ в списках /models (там v4-flash/v4-pro у DeepSeek; версионные слаги у xAI), НО **оба работают как алиасы** (перепроверено вживую: HTTP 200, переводят). Агент-аудитор написал «сняты» — это была неточность: «нет в /models» ≠ «не работает». deepseek-chat депрекируется 24.07.2026. У xAI есть мигрированные слаги-обёртки (`grok-4.20-0309-non-reasoning` / `-reasoning` / `-multi-agent`, ретайр 15.05.2026), но **для перевода/редактуры берём `grok-4.3` + явный `reasoning_effort:"none"`** (слаг не меняем; non-reasoning вариант = grok-4.3+`none` под капотом — см. thinking-таблицу). xAI `usage` отдаёт нестандартные `cost_in_usd_ticks`/`num_sources_used` — игнорировать. **Урок: имя модели проверять не только `/models`, но и пробным вызовом — алиас может работать, даже если его нет в списке; и наоборот.** Реальная причина сменить deepseek на v4-flash — не «chat умер», а ЭХО на zh (лечится thinking-on), см. раздел thinking.
|
||||
- Claude Sonnet 5 промо $2/$10 до **31.08.2026** (не закладывать в долгий прайс).
|
||||
- **ПОПРАВКА (04.07, владелец): удалён только Anthropic (за дороговизну). OpenAI ОСТАЁТСЯ** (ключ есть — GPT-5 nano/mini). Живой набор ключей у бэкенда и полигона: DEEPSEEK, ZAI, KIMI, OPENAI, GEMINI, XAI. Источник истины по стеку — `architecture/05-decisions-log.md` (D3) и Р4. Ранее эта строка ошибочно исключала OpenAI — исправлено оркестратором.
|
||||
- **ПОПРАВКА (04.07, владелец): удалён только Anthropic (за дороговизну). OpenAI ОСТАЁТСЯ** (ключ есть — GPT-5 nano/mini). Живой набор ключей у бэкенда и полигона: DEEPSEEK, ZAI, KIMI, OPENAI, GEMINI, XAI, MISTRAL (добавлен 09.07, 6ab92b5). Источник истины по стеку — `architecture/05-decisions-log.md` (D3) и Р4. Ранее эта строка ошибочно исключала OpenAI — исправлено оркестратором.
|
||||
|
||||
## Провенанс
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
| `cost_model_v2.py` | exp08 COGS (~$0.69/ранобэ) | цены датировать и перепроверять |
|
||||
| `extract_bench.py` | exp06 экстракция терминов (спот=локаль/рендер=облако) | health-верификация каждого ответа — образец |
|
||||
| `retrieval_bench.py` | эмбеддинг-бенч памяти (bge-m3 дефолт) | |
|
||||
| `pilot/declmetric.py`, `pilot/memory_eval.py`, `pilot/kana_precision.py` | харнесс пилота Ф2.5 (exp09) | ✅ починен (D13.5): эхо-контроль, ПОЛНЫЕ выходы, **fidelity-ось** (cross-family судья), M0–M3, Go-синк 7 расхождений (self-test+адверсариально verified). `--self-test`/`--dry-run` без API. Инъекция = зеркало `memory.go` — при расхождении верить Go (D16 лендится — пере-сверить). `kana_traps.json`+`trad2simp.txt` (508, hash-синк) |
|
||||
| `pilot/declmetric.py`, `pilot/memory_eval.py`, `pilot/kana_precision.py` | харнесс пилота Ф2.5 (exp09) | ✅ починен (D13.5): эхо-контроль, ПОЛНЫЕ выходы, **fidelity-ось** (cross-family судья), M0–M3, Go-синк 7 расхождений (self-test+адверсариально verified). `--self-test`/`--dry-run` без API. Инъекция = зеркало `memory.go` — синк с Go v3 выполнен (пакет №2: suppressUnboundedPhonetic + апостроф-фолд, adversarial parity); при расхождении верить Go. `kana_traps.json`+`trad2simp.txt` (508, hash-синк) |
|
||||
| `webnovel_slice.py` | добор вне претрейна (r-коэф/эхо/coverage-precision) | одна команда по появлению `data/samples/webnovel/<lang>/*.txt`; блокируется корпусом graceful |
|
||||
| `adaptive_*.py` | research/14 пробы (гибрид отклонён) | индикативные, не решения |
|
||||
| `memory_hotpath.py` | УСТАРЕЛ (контракт до cc57c7b) — не переиспользовать | актуальное зеркало — `pilot/memory_eval.py` |
|
||||
|
|
@ -29,4 +29,4 @@
|
|||
6. `data/` в .gitignore (коммитится только код) — критичные результаты дублируй цифрами в `docs/experiments/`.
|
||||
|
||||
## Доступные ключи от моделей
|
||||
DEEPSEEK_API_KEY, ZAI_API_KEY, KIMI_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, XAI_API_KEY MISTRAL_API_KEY
|
||||
DEEPSEEK_API_KEY, ZAI_API_KEY, KIMI_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, XAI_API_KEY, MISTRAL_API_KEY
|
||||
Loading…
Add table
Reference in a new issue