Issue the discourse-prompt (backend) and reseed (polygon) handoff prompts for the single resnapshot, and archive the landed infra-pack prompt

This commit is contained in:
Claude (backend session) 2026-07-12 22:49:51 +03:00
parent ffaf076fd9
commit 7e6f9a5a4f
4 changed files with 63 additions and 1 deletions

View file

@ -0,0 +1,31 @@
# Промт: бэкенд-сессия — дискурс-reflow-промпт P1a в боевой editor (рычаг №1 читаемости: абзацы) (2026-07-12, D38.4, приоритет №1)
---
## Кто ты и зачем
Ты — **бэкенд-сессия** 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 реален, ~56 порч в exp14). Точность формулировки = как в exp14 (менять смысл промпта нельзя — это то, что победило).
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 (промпт + сид + код инфра-пака).

View file

@ -0,0 +1,29 @@
# Промт: полигон-сессия — reseed: промоут грейдов + 四代族长 в approved (корень терм-дрейфа) (2026-07-12, D38.5)
---
## Кто ты и зачем
Ты — **полигон-сессия** TextMachine. exp14b (**D38 §3**, верифицировано по коду) нашёл **корень дрейфа терминов/грейдов = статус `draft` в сиде**: важные термы в `status:draft` НЕ инъектятся в editor-констрейнт (`renderEditorConstraintBlock`, `memory.go:489`, CONFIRMED-only); хуже — longest-match `suppressContained` СЪЕДАЕТ верный approved `族长→«глава клана»` (вложен в draft-длинный `四代族长`), оставляя неверного соседа `家老→«старейшина»` → глоссарий-обедиентные glm/mistral подтягивают «старейшину». **Задача — промоутнуть направленные владельцем термы `draft→approved` ВОСПРОИЗВОДИМЫМ трансформом** (провенанс D30.5), чтобы enforce заработал. **Владелец подписал направление** (D37/D38 + «Да» 12.07). Это дешёвый ДЕТЕРМИНИРОВАННЫЙ фикс, не модель-проблема.
Зона: `eval/` (трансформ-скрипт — рядом с живым провенансом `eval/exp13/exp13_seed_v2.py`/`exp13_seed_signoff.py`) + сид `guzhenren-seed-v2.yaml` (данные владельца, **ВНЕ git**; промоут авторизован владельцем). НЕ править backend-код. `.env` не читать. Мандат самопроверки: после — ревью, что промоутнуто РОВНО направленное, dst-формы верны, enforce работает исполнением.
## Онбординг
1. `CLAUDE.md` → CURRENT-STATE → **D37 §2в (схема разрядов) + D38 §3 (корень терм-дрейфа, verified по коду) + D34 (подпись сида v2 владельцем)**.
2. Сид `/home/ubuntu/books/gu-zhenren/guzhenren-seed-v2.yaml` (текущие статусы термов) + провенанс `eval/exp13/exp13_seed_v2.py` / `exp13_seed_signoff.py` (паттерн воспроизводимого трансформа + подписной таблицы).
3. Механизм enforce (что чинит промоут): `renderEditorConstraintBlock` (`memory.go:485/489`, CONFIRMED-only), longest-match `suppressContained`.
## Задача (СВЕРЬ точные термы по сиду + D37/D38 — НЕ по памяти; мандат самопроверки)
1. **Воспроизводимый трансформ** (скрипт в `eval/`, паттерн `exp13_seed_signoff`): промоут `status: draft→approved` для НАПРАВЛЕННЫХ владельцем терминов:
- **Грейды `甲乙丙丁`** → dst «класс А/Б/В/Г» (D37; развести с `转`→«ранг», принудительная сверка). Сверь текущий dst/статус в сиде.
- **`四代族长`** → dst «Четвёртый глава рода» (подпись владельца, D34/D37) → `approved`. Как approved-длинный он выиграет longest-match над вложенным `族长``族长` больше НЕ съедается неверно (чинит D38 §3).
- **Сверь по сиду ПОЛНЫЙ список направленных D37/D38** (не только эти — проверь, нет ли ещё draft-термов, помеченных владельцем к промоуту). **НЕ промоутить лишнего** — approved-инвариант (только явно направленное).
2. **Верифицируй enforce ПОСЛЕ промоута** (ИСПОЛНЕНИЕМ, не на веру): промоутнутые термы теперь в editor-констрейнт-инъекции (CONFIRMED-only); `四代族长` (approved-длинный) выигрывает longest-match над `族长`. Прогонная проба на чанке с этими термами (реконструкция инъекции — паттерн `renderEditorConstraintBlock`/`exp12_blocks`): убедись, что инъекция отдаёт `四代族长→«Четвёртый глава рода»` и грейды `甲乙丙丁→А/Б/В/Г`, а `族长` не подменяется на «старейшину».
3. **Таблица подписи** (от→до по каждому терму: src, старый статус/dst, новый статус/dst) — владельцу в запись; провенанс байт-стабилен (D30.5).
## Само-проверка + deliverable
- Ревью: `diff` сида до/после = РОВНО направленные термы (ничего лишнего не тронуто); dst-формы = D37/D34; enforce верифицирован ИСПОЛНЕНИЕМ (проба инъекции). Провенанс воспроизводим (повторный прогон трансформа = байт-в-байт).
- **Deliverable:** обновлённый сид (ВНЕ git) + трансформ-скрипт (в `eval/`, коммитит оркестратор) + таблица промоута + отчёт с само-проверкой. **Оркестратор собирает единый resnapshot** (промпт P1a + сид + код инфра-пака — D30.9, чтобы одна переоплата книги, не три).

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), `11-erotica-benchmark` (erotica по трём парам/регистрам — закрытие D14.4, D22).
- `research/` — фактура исследований 0405.07: `0110` базовые, `11-gap-*` добор критиком, `12-*` режимы отказа/отзывы/таксономии (+ два внешних материала с провенанс-шапками), `13` валидация памяти, `14` адаптивная память, `15` голос и состояние (принят, D21), **`16` ридер-IDE (принят с ревью-шапкой, D29)**, **`17` внешняя критика GPT-5.6 (принят с ревью-шапкой, D25)** — у 16/17 читать шапку прежде тела. ⚠ Часть под superseded-баннерами (01/02/03/04/05/09 и gap-1/2/5) — **читай баннер прежде содержимого**.
- `PROGRESS.md`**журнал** (CURRENT-STATE сверху, ниже хронология; НЕ источник решений).
- **Активные хендофф-промты** (пост-D38.1, фаза «строить»): [`ORCHESTRATOR_SESSION_PROMPT.md`](ORCHESTRATOR_SESSION_PROMPT.md) (роль оркестратора) · [`POLYGON_PACKAGE4_SESSION_PROMPT.md`](POLYGON_PACKAGE4_SESSION_PROMPT.md) (**ОТЛОЖЕН, пилот-residual:** task-1 закрыт exp13/D32; открыты D22.6 судья-дублёр + D25.7 echo-кал + пилот-пре-рег + P4-хвост — для пилота, не exp14). [`BACKEND_INFRA_PACK_SESSION_PROMPT.md`](BACKEND_INFRA_PACK_SESSION_PROMPT.md) (**СЛЕДУЮЩИЙ, ВЫДАН — D38.1, ПЕРВЫЙ «строить»:** san-класс CJK-в-выходе + экспорт-фикс флагнутого-в-пусто D35.4a + число/omission-гард; ∥ reseed-глоссарий промоут грейды А/Б/В/Г + 四代族长 approved) → единый resnapshot → пере-прогон 310 глав (дискурс-промпт glm; editor-swap mistral/deepseek-pro как арм) → чтение владельца (стейдж Б/В D15.2 — свежий промт, дизайн = спека v3.1). Закрытые в `archive/prompts/`: cleanup/консолидация→D38.2, exp14b (смысл-батарея)→D38, exp14 (нарезка×промпт+blind-eval)→D37, research/18-ресёрчер→D36, exp13→D32, санитайзер-фикс→D33.1, приёмка v2 (цикл ЗАКРЫТ D35), D152-этап-А→D33, пакеты №35, erotica, «Голос», r/17, r/16, exp12→D30.
- **Активные хендофф-промты** (пост-D38.1, фаза «строить»): [`ORCHESTRATOR_SESSION_PROMPT.md`](ORCHESTRATOR_SESSION_PROMPT.md) (роль оркестратора) · [`POLYGON_PACKAGE4_SESSION_PROMPT.md`](POLYGON_PACKAGE4_SESSION_PROMPT.md) (**ОТЛОЖЕН, пилот-residual:** task-1 закрыт exp13/D32; открыты D22.6 судья-дублёр + D25.7 echo-кал + пилот-пре-рег + P4-хвост — для пилота, не exp14). [`BACKEND_DISCOURSE_PROMPT_SESSION_PROMPT.md`](BACKEND_DISCOURSE_PROMPT_SESSION_PROMPT.md) (**ВЫДАН D38.4, РЫЧАГ №1:** порт валидированного P1a-дискурс-промпта в боевой `editor.md` — чинит абзацы/претензию-1) · [`POLYGON_RESEED_SESSION_PROMPT.md`](POLYGON_RESEED_SESSION_PROMPT.md) (**ВЫДАН D38.5:** промоут грейдов `甲乙丙丁`→А/Б/В/Г + `四代族长` draft→approved — корень терм-дрейфа D38.3). Оба ∥ → **единый resnapshot** (промпт P1a + сид + код инфра-пака D38.3) → пере-прогон 310 глав (glm=P1a; editor-swap mistral/deepseek-pro как арм) → чтение владельца (стейдж Б/В D15.2, интерим-планка 2 претензии). Закрытые в `archive/prompts/`: инфра-пак читаемости→D38.3, cleanup/консолидация→D38.2, exp14b (смысл-батарея)→D38, exp14 (нарезка×промпт+blind-eval)→D37, research/18-ресёрчер→D36, exp13→D32, санитайзер-фикс→D33.1, приёмка v2 (цикл ЗАКРЫТ D35), D152-этап-А→D33, пакеты №35, erotica, «Голос», r/17, r/16, exp12→D30.
- `archive/` — закрытые сессионные промты (только история, инструкции оттуда не исполнять).
## Статус (2026-07-12, пост-D38.1 · консолидация D38.2)

View file

@ -1,5 +1,7 @@
# Промт: бэкенд-сессия — инфра-пак читаемости (санитайзер-классы + экспорт-фикс + гарды + reseed-координация) (2026-07-12, D38, приоритет №1)
> **⟶ ЗАКРЫТ / ЗААРХИВИРОВАН (D38.3, 12.07). Инструкции ниже НЕ исполнять — история.** Отработан: бэкенд исполнил 4 задачи (экспорт-фикс D35.4a + класс `cjk_leak` + число/omission-гард + reseed-enforce-верификация) с 19-агентным само-ревью (4+1 фикса); оркестратор верифицировал ИСПОЛНЕНИЕМ (build/vet/test зелёные, 3 span-дефекта запинены) и залендил (`d5beefc`). Follow-on к единому resnapshot: `BACKEND_DISCOURSE_PROMPT` (рычаг №1 P1a) + `POLYGON_RESEED`. Разбор — D-лог **D38.3**.
---
## Кто ты и зачем