31 lines
7.6 KiB
Markdown
31 lines
7.6 KiB
Markdown
# Промт: бэкенд-сессия — дискурс-reflow-промпт P1a в боевой editor (рычаг №1 читаемости: абзацы) (2026-07-12, выдан — рычаг №1, feeds resnapshot; амендмент D38.4)
|
||
|
||
---
|
||
|
||
## Кто ты и зачем
|
||
|
||
Ты — **бэкенд-сессия** TextMachine. Эмпирика exp14 (**D37 §2а**, span-верифицировано) установила: **претензия владельца №1 (рубленые абзацы / конвенции РЯ) = рычаг ПРОМПТА, НЕ модель** — фронтир со старым промптом (F-base) рубит абзацы ХУЖЕ P0, а дискурс-reflow-промпт (**P1a**) реверстает дефект у ВСЕХ семей редакторов. Боевой editor-промпт сейчас **P0-образный** (то, что exp14 признал хуже P1a). Задача — **перенести валидированный P1a в боевой editor-промпт**, чтобы пере-прогон реально закрыл абзацы. **Это рычаг №1; без него единый resnapshot бессмыслен** (код инфра-пака уже залендён D38.3, reseed идёт параллельно).
|
||
|
||
Зона: **только `backend/`** (+ READ-ONLY чтение `eval/exp14/exp14_prompts.py` как источника формулировки P1a — НЕ править, зона полигона). Сид НЕ трогать. `.env` не читать. **Ничего не коммитить — лендит оркестратор.** Мандат самопроверки (CLAUDE.md, владелец 12.07): **после кода — явный бэкенд-ревью своего изменения + адверсариальное ревью (author≠reviewer, find→refute)**.
|
||
|
||
## Онбординг
|
||
|
||
1. `CLAUDE.md` (гардрейлы + мандат самопроверки) → CURRENT-STATE в `docs/PROGRESS.md` → **`docs/architecture/05-decisions-log.md` D37 §2а + D38 §7 + D38.1 + D38.3** (что такое P1a, почему рычаг №1, как он ложится в resnapshot).
|
||
2. **`eval/exp14/exp14_prompts.py` (READ-ONLY)** — точный текст P1a-дискурс-промпта + few-shot (narrative N:1, dialogue 1:N, focal-shift boundary, target-side ru-якорь ≤3), sha256-фиксация. **Это источник истины по формулировке** — то, что реально победило в exp14.
|
||
3. Боевой editor-промпт `editor.md` (сверь по `backend/configs/pipeline-c1.yaml` — editor получает `{{text}}` = исходник, билингв D30.1) + механизм инъекции CONFIRMED dst-констрейнтов (`renderEditorConstraintBlock`, `memory.go`). `docs/research/18-quality-levers.md` (Ван Цуй parataxis→hypotaxis, DocRepair-фон) — если нужен контекст дискурс-reflow.
|
||
|
||
## Задача
|
||
|
||
1. **Извлечь P1a** из `eval/exp14/exp14_prompts.py` (READ-ONLY): дискурс-reflow-инструкции (Ван Цуй — паратаксис исходника → гипотаксис РЯ; **репараграфизация 1:N** — дробить китайскую «простыню» на русские абзацы по смысловым единицам; **ОДИНАРНЫЙ пасс**, НЕ 2-pass — D37 §2б, второй пасс дрейфует) + few-shot.
|
||
2. **Перенести в боевой `editor.md`** faithfully: заменить P0-era инструкции валидированным P1a-дискурсом, **СОХРАНИВ билингв-каркас** (вход = черновик + `{{text}}`-исходник + CONFIRMED dst-констрейнты, D30.1) и omission/inversion-осторожность (не терять/не инвертировать смысл — класс D34.3 реален, ~5–6 порч в exp14). Точность формулировки = как в exp14 (менять смысл промпта нельзя — это то, что победило). **+ ОДНО валидированное дополнение к атом-листу (D38 §2г / аудит полноты D38.4):** добавь класс **идиом/чэнъюй** — «передавай ОБА смысловых компонента чэнъюй (`物是人非` = „вещи те же, люди не те“ — не сворачивай в общий смысл „всё изменилось“); при нужде — краткий образ + смысл». Причина: exp14b (SOFT e1) — сплющивание чэнъюй УНИВЕРСАЛЬНО у всех моделей (не модель-специфика), D38 §2г классифицировал как рычаг ПРОМПТА. Это ЕДИНСТВЕННОЕ смысловое дополнение к P1a; всё прочее — дословный порт. Пере-прогон измерит эффект (`物是人非` — вход fidelity re-gate).
|
||
3. **Бампнуть `prompt_version`** editor-роли (телеметрия: новый промпт = новый SHA; НЕ повторить баг «один лейбл `v0-draft` на два SHA» — D-лог 07-strategic §194). Это триггерит resnapshot — ок, оркестратор собирает единый.
|
||
4. **Golden re-capture** если editor-промпт в golden (санкц., loud, `promptVersion` bump; маскир. дифф = РОВНО смена промпта, тела других стадий без дрейфа).
|
||
5. **CAVEAT — флаг, НЕ реализовывать здесь:** few-shot МОДЕЛЬ-СПЕЦИФИЧЕН (research/15). Дефолт-editor = glm-5 → few-shot P1a как есть. Но для СВАП-арма пере-прогона (mistral/**deepseek-pro**): deepseek-thinking может требовать **zero-shot** (exp14 §2а: «для DeepSeek-thinking сначала zero-shot против few-shot; ручной verbose CoT reasoning-модели НЕ добавлять»). Отметь в отчёте как вопрос конфига пере-прогона — не строй сейчас.
|
||
|
||
## Само-проверка (обязательна, мандат)
|
||
|
||
После кода: **(а)** свой ревью — ported-промпт ФАКТИЧЕСКИ соответствует P1a (сверь дословно по `exp14_prompts.py`; ничего не потерял/не переформулировал случайно), `prompt_version` бампнут, golden-дифф = ровно смена промпта; **(б)** адверсариальное ревью (find→refute, author≠reviewer). `go build && go vet && go test -race ./...` зелёные.
|
||
|
||
## Оговорки/вопросы — в конец отчёта
|
||
- **Крупная edit-единица** (D37 §2а «крупнее чанк = лучше абзацы») — НАПРАВЛЕННЫЙ сигнал (2 главы/0 ретраев), НЕ ратифицирован. Это ОТДЕЛЬНАЯ ручка нарезки, НЕ часть этого промпт-порта. Хочешь — предложи в отчёте (не реализуй).
|
||
- **Deliverable:** боевой `editor.md` = P1a-дискурс, `prompt_version` бампнут, golden зелёный, отчёт + само-проверка + список «перенёс дословно vs адаптировал» + deepseek-zero-shot-флаг. Оркестратор собирает единый resnapshot (промпт + сид + код инфра-пака).
|