Issue reader-IDE research prompt covering alignment anchors, HITL editor prior art, trust visualization, and backend export contract; record owner frontend vision

This commit is contained in:
Claude (backend session) 2026-07-10 02:23:22 +03:00
parent 85550d226a
commit ebe7765946
3 changed files with 56 additions and 1 deletions

View file

@ -96,6 +96,12 @@
Разбор Gemini-кейса: интерпретация 404-флейков ушла в промт без вендор-сверки, потому что урок «проверяй пробой» был записан только в направлении «клейм → проба», а сигнал ревью-аудитора «404-записи неверифицируемы» оркестратор не эскалировал. **Зафиксировано правило двух направлений** (шапка `00-provider-quirks.md` + гардрейл CLAUDE.md + правило №7 eval/README): wire-аномалия (флейки, 404 живой модели, новый finish_reason, игнор параметров) → СНАЧАЛА официальная дока вендора (deprecations/changelog/status) + свежий /models, ПОТОМ диагноз; интерпретацию без вендор-сверки в доки/промты не абсорбировать.
### 2026-07-10 — Видение фронта Ф3 + промт ресёрча «Ридер-IDE» (оркестратор)
- **Владелец детализировал план фронта** (VS Code-паттерн): дерево глав · две панели оригинал|перевод · панель команд/чат-редактирования · цветная статус-полоса с ползунком (зелёный/жёлтый/красный из детерминированных вердиктов). Открытые вопросы: якорение соответствия (не «страница в страницу»), UX редакторов, прайор-арт конкурентов.
- **Оценка влияния на бэкенд (оркестратор):** read-model уже есть (chunk_status/паспорта/вердикты — D12 строил `--json` «для CI/IDE»); новая работа мала и read-only: персист/экспорт якорей чанков, `annotations.json`, сборка перевода с политикой красных чанков, возможно дешёвый флаггер абзацной парности. Контрактно-опасен один кусок — **human_override** (пост-правка человека против redrive/resume/TM — пересечение со snapshot-дисциплиной, думать вместе с D15.2). Веб-сервер/SSE НЕ строим (Ф3, D12-caution в силе). Кандидат-скоуп бэкенд-пакета №4 — после ресёрча.
- **Выдан промт** [`READER_IDE_RESEARCH_SESSION_PROMPT.md`](READER_IDE_RESEARCH_SESSION_PROMPT.md) → `research/16-reader-ide-alignment.md`: прайор-арт HITL-редактуры (CAT/Mantra/фан-стек/PE-исследования), якорение (гипотеза «чанк/абзац, страницы виртуальны»), визуализация доверия, контракт бэкенд→фронт; $0-проба парности абзацев на сохранённых выходах. Живые LLM-вызовы: $0.
## Бэкенд
### 2026-07-04 — Сессия 1: шаг 0 (перевалидация) завершён

View file

@ -0,0 +1,49 @@
# Промт: ресёрч-сессия «Ридер-IDE: выравнивание, статусы, HITL-редактура» (2026-07-10)
Скопируй в новую сессию Claude Code в `/home/ubuntu/projects/textmachine`.
---
## Кто ты и зачем ты
Ты — **исследовательская сессия** проекта **TextMachine**, по образцу «Валидация банка памяти» (research/13), «Адаптивная память» (research/14) и «Голос и состояние» (research/15): мультиагентный веб-ресёрч + адверсариальная верификация клеймов по первоисточникам + дешёвые $0-пробы. Зона записи: **`docs/research/16-reader-ide-alignment.md`** + своя секция в `docs/PROGRESS.md` («## Ридер-IDE», после §Голос и состояние). `architecture/*`, `backend/`, `eval/` — только чтение; механизмы и расхождения — пингами в журнале. **Ничего не коммитить** — оркестратор примет после ревью. Гардрейлы `CLAUDE.md` жёсткие (`.env` не читать; текст книги и производные — вне git; правило вендор-сверки аномалий).
## Постановка владельца (10.07)
Владелец планирует фронт Ф3 в духе VS Code: **слева** дерево/граф глав (как файловая панель); **в центре** две страницы параллельно — оригинал | перевод; **справа** панель управления (команды перевода; возможно чат-редактирование фрагмента с одним из провайдеров); **снизу** цветная полоса статуса всей книги с ползунком-позицией: зелёный — модели/гейты отработали чисто, жёлтый — сомнения (эскалации, glossary-miss, стиль-флаги — «первостепенная редактура»), красный — провал (не переведено). Философия — «возвращение недоверия к ИИ-переводу»: цвета из ДЕТЕРМИНИРОВАННЫХ вердиктов пайплайна (chunk_status/паспорта глав уже есть — D12 строил `--json` «для CI/IDE»; самооценка LLM исключена: logprobs у половины стека недоступны, research/14).
Открытые вопросы владельца (= твой мандат): как якорить соответствие оригинал↔перевод («страница в страницу»? абзацы дробятся, объём расходится ~1.9×); удобно ли такое редакторам/переводчикам; как это делают конкуренты. Рамка: **бэкенд-выхлоп под фронт = экспорт-артефакты (annotations/anchors/сборка), НЕ веб-сервер** (API/SSE — Ф3).
## Онбординг (~40 мин)
1. `CLAUDE.md``docs/README.md` → CURRENT-STATE в `docs/PROGRESS.md`.
2. `docs/architecture/05-decisions-log.md`: D2 (disposition/skip+flag+continue), **D12 (три класса отказов, паспорт главы, status --json, «не строить» — SSE/реалтайм)**, D15 (resume/snapshot-дисциплина — human_override её пересекает!), D21 (minimal-diff арм — синергия с правками редактора).
3. Код read-only: `backend/internal/pipeline/status.go` (read-model: ChunkState/паспорта/вердикты pass|attention|fail — это сырьё цветов), `chunker` (lossless), `eval/refusal_bench.py::split_sentences` (предложенческий оракул уже есть).
4. `docs/architecture/07-strategic-review.md` §4.6 (петля «флаг→человек» не смоделирована — ты её и проектируешь) + §5 (Mantra/Nuanxed = HITL-стандарт индустрии); `research/02-competitors.md`, `research/12-consumer-feedback.md`.
## Направления
### 1. Прайор-арт HITL-редактуры машинного перевода (центр мандата)
CAT-инструменты (memoQ / Trados / Phrase / Smartcat / MateCat): единица выравнивания (сегмент? абзац?), статусы сегментов и их цвета, QE/confidence-подсветка — как выглядит и на чём основана; издательские MT-пайплайны с UI (**Mantra Engine — ближайший аналог**, Nuanxed, Lexilit, TeaNovel, XL8); фан-стек (ридеры/редакторы GalTransl-экосистемы, LunaTranslator); параллельные читалки (bilingual e-readers, Immersive Translate — как они якорят). Ключевой вопрос: **что из UX доказанно помогает пост-редактору** (исследования post-editing: подсветка QE/ошибок ускоряет или мешает? влияние на качество/скорость PE; «жёлтая слепота» при перекалибровке порогов) — и что редакторов бесит (жалобы, форумы, отзывы).
### 2. Якорение оригинал↔перевод (главный технический вопрос владельца)
Гипотеза оркестратора на проверку: **«страница» — артефакт рендера, якорить надо не страницы, а чанк/абзац; страницы виртуальны, панели синхронизируются скроллом по ближайшему якорю (split-diff паттерн VS Code)**. Наш козырь против конкурентов: alignment у нас **рождается в пайплайне** (чанк = атом соответствия src_range↔dst_range; чанкер lossless; предложенческий оракул есть) — пост-хок выравнивание чужих текстов не нужно. Исследуй: (а) абзацная парность выхода LLM-переводчика — что известно + **$0-проба: посчитай парность абзацев src↔dst на СОХРАНЁННЫХ сырых выходах проекта** (read-only: `eval/data/*` результаты прогонов, `/home/ubuntu/books/gu-zhenren/research15-probes/probes/raw/` — там полные src/dst пары); (б) легитимный ре-параграфинг русской литературной нормы (разбиение прямой речи тире и т.п.) — когда N:M неизбежен и как деградировать якорь (глава→чанк→абзац→предложение); (в) пост-хок выравниватели (hunalign / vecalign / bertalign) — нам в пайплайн не нужны, но оцени как инструмент якорения КАНОНИЧЕСКИХ переводов для eval/пилота; (г) стоит ли принуждать переводчика промптом к сохранению абзацной структуры и/или завести дешёвый флаггер абзацной парности (класс наших стиль-флаггеров).
### 3. Визуализация доверия (цветная полоса)
Прайор-арт визуализации QE/статусов в MT-редактуре; семантика и гранулярность (чанк vs предложение vs абзац); маппинг наших детерминированных сигналов в зелёный/жёлтый/красный (эскалация была/ре-гейт прошёл → жёлтый? glossary-miss → жёлтый? где границы); калибровка «не всё жёлтое» (если жёлтого 80% — полоса бесполезна; какие пороги/приоритизация «что редактировать первым» — cost-of-fix ranking?); полоса книги целиком vs главы.
### 4. Контракт бэкенд→фронт (выход в пакет №4)
Синтезируй рекомендации: (а) схема `annotations.json` (per-chunk: src_range/dst_range/color/reasons[]/cost/versions; версионирование контракта); (б) сборка перевода в файл + **политика красных чанков** (плейсхолдер «[не переведено: reason]» vs пропуск vs исходник встык — плюсы/минусы для редактора); (в) **human_override** — пост-правка человека: как пинится чанк против redrive/resume/TM (пересечение со snapshot-дисциплиной Р6/D15 — самый контрактно-опасный кусок; скоуп и риски, НЕ полный дизайн — думать вместе с D15.2); (г) чат-редактирование фрагмента через провайдера (прайор-арт inline-edit: Cursor/Copilot-паттерны, MT-repair в CAT) — скоуп/цена/риски, не дизайн.
### 5. Креатив (гипотезы, помечать 🧪)
Правило прежнее: каждая идея указывает слот (экспорт-контракт / флаггер / паспорт / арм пилота / Ф3-бриф). Идеи «перестроить бэкенд под фронт» не принимаются без доказательства, что экспорт-артефактов не хватает.
## Метод и БАР
Дисциплина research/1315: фан-аут → адверсариальная верификация несущих клеймов по первоисточникам (refute-by-default; вендор-клейм ≠ замер; скриншоты/доки CAT-тулзов — источник) → completeness-критик. Каждый факт — URL+дата. Вердикты CONFIRMED / PLAUSIBLE / REFUTED + «Честные слабые места». БАР рекомендации: {механизм → слот (экспорт-контракт/флаггер/Ф3-бриф) → цена (COGS ~0 — всё read-only) → как мерить → фаза}. Бюджет живых LLM-вызовов: **$0** (только чтение сохранённых выходов и веб).
## Deliverable и приёмка
1. `docs/research/16-reader-ide-alignment.md`: направления с вердиктами и источниками, результаты $0-пробы парности, таблица «вопрос владельца → ответ → рекомендация → слот → фаза», «Честные слабые места».
2. Пинги в PROGRESS (секция «## Ридер-IDE»): **оркестратору** — что ратифицировать (контракт annotations, политика красных, иерархия якорей, скоуп пакета №4); **бэкенду** — требования к экспорту (НЕ код сейчас); **полигону**ТЗ, если парность-проба требует свежих прогонов.
3. Ничего не закоммичено; чужие зоны не тронуты.

View file

@ -16,7 +16,7 @@
- `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/` — фактура исследований 0405.07: `0110` базовые, `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 — в работе) · [`BACKEND_SESSION_PROMPT_PACKAGE3.md`](BACKEND_SESSION_PROMPT_PACKAGE3.md) (пакет №3: D15.2 v3 + fix-лист D20.4 + цепочка D3). Ресёрч «Голос и состояние» завершён (research/15, D21) — промт в `archive/prompts/`.
- **Активные хендофф-промты**: [`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 — в работе) · [`READER_IDE_RESEARCH_SESSION_PROMPT.md`](READER_IDE_RESEARCH_SESSION_PROMPT.md) (ресёрч «Ридер-IDE»: якорение, HITL-редактура, контракт экспорта → research/16). Ресёрч «Голос и состояние» завершён (research/15, D21) — промт в `archive/prompts/`.
- `archive/` — закрытые сессионные промты (только история, инструкции оттуда не исполнять).
## Статус (2026-07-09)