# Промпт-архитектура: состояние, решения, открытое (консолидированная заметка)

> Собрано оркестратором 2026-07-16 по запросу владельца («где заметка про промтинг?») — тема концерна 4
> арх-ресета была размазана по `08-sync-audit-ledger` (дорожка L4), `09-target-architecture` (§0.1, §2
> слой 2), D-логу (D30.2, D39 п.7, D39.1–39.2) и research/18–19. Здесь — одно место; при конфликте
> побеждает D-лог. Обновлять при каждом лендинге, трогающем промты/слой 2.

## 1. Четыре вопроса владельца → где ответ и что с ним

| Вопрос владельца | Статус | Где живёт |
|---|---|---|
| **Язык самого промпта** (сейчас всё по-русски; для zh→en русский не должен участвовать) | ОТКРЫТ, спроектирован: язык промпта = **свойство пакета пары**, не хардкод. Измерение «на языке цели vs оригинала vs ru» — полигон-вопрос ПОСЛЕ exp15 (нужен не-ru таргет с реальной книгой) | START_PROMT V4-п5 · аудит `L4-prompt-language-always-russian` (CONFIRMED/HIGH) · `09` §2-слой-2 · D39 п.7 |
| **Вырезать правила языка из промтов в отдельный слой** (Палладий/Поливанов, дискурс-нормы, few-shot) | СЕАМ ПОСТРОЕН (пак-1, D39.2): конфиг pair-keyed `prompts: {zh-ru: …}` + `Book.LangPair()` + fail-loud на чужую пару. **Контент ещё НЕ извлечён** — правила по-прежнему в теле zh-ru-файлов; извлечение в структурированный пакет гейтится exp15 + research/18 §D-3 («форма пакета не разрешена») | research/18 §B2.2/§C#15 · `09` §2-слой-2 · D39-решение владельца «сеам сейчас, контент zh→ru» · пак-1 T3.3 |
| **Почему структура абзацев и расширенный язык-промпт — только у РЕДАКТОРА?** | ОСОЗНАННОЕ решение D30.2 (дешёвый буквальный черновик + вся реструктуризация у умного билингв-редактора; exp12: построчность = корень нечитаемости), НО альтернатива «переводчик отдаёт структуру» **никогда не мерилась** — это ровно армы **Q4a/Q4c exp15** (сильный переводчик; reflow отдельным пассом). До exp15 асимметрия сохраняется намеренно | D-лог D30.2 (`05:366` — «механизм реверстки — открытый вопрос») · аудит `L1-*`/`H3` · research/19 §C · exp15 Q4 |
| **Все промты zh→ru-центричны — неправильно для мультиязычного бэкенда** | Ратифицирован **инвариант общности** (`09` §0.1, поправка владельца 13.07): пара = ось данных, не кода. Латентный баг закрыт паком-1 (ja-книга теперь fail-loud, не едет тихо через «китайский паратаксис»). Новая пара = новый пакет-данные, не переделка кода | `09` §0.1 · D39 п.7 · пак-1 T3.2/T3.3 · аудит `H2` |

## 2. Инвентарь промтов (после пака-1/1.5, HEAD)

| Файл | Роль | Что внутри | Пара |
|---|---|---|---|
| `backend/prompts/translator.md` | черновик (flash) | брифинг-переменные `{{lang/genre/honorifics/transcription/venuti/footnotes}}` + слабая вёрстка-однострочка (D30.2) | де-факто zh→ru (ключ `zh-ru` в конфиге) |
| `backend/prompts/editor.md` | редактор (glm-5, БИЛИНГВ), v3 | 4 мандата + ДИСКУРС-ПЕРЕВЁРСТКА (Ван Цуй) + чэнъюй-атом + структурные few-shot (`---FEWSHOT---`, тумблер per-stage) | де-факто zh→ru |
| `backend/prompts/editor-mono.md` | референс-вариант D13.1 (не боевой) | узкий моно-мандат | — |
| `backend/prompts/judge-selector.md` | Ф2 (не исполняется) | — | — |
| ~~analyst.md / terminologist.md~~ | СНЕСЕНЫ паком-1 (сироты) | — | — |

Правила, сидящие В ТЕЛЕ промтов (кандидаты на извлечение в пакет пары после exp15): русское тире-оформление
диалога; «пиши живым русским»; паратаксис→гипотаксис-блок; чэнъюй-политика; few-shot-примеры (структурные,
по-русски). Переменные брифа (`{{transcription}}` и пр.) — уже данные книги, НЕ пакета.

## 3. Целевая форма (слой 2, `09` §2) — куда движемся
Версионируемый **пакет конвенций пары** `src→tgt[×genre]`, снапшот-folded: дискурс-правила пары + few-shot
(в языке пары) + **язык промпта** + нормы транскрипции (Палладий для zh→ru, Поливанов для ja→ru — как
выбираемые политики) + лимитеры полноты. Стадия резолвит промпт из пакета по `Book.LangPair()` (сеам уже
работает). Гейты на стройку: exp15 (какие правила реально несут) + research/18 §D-3 (форма пакета).

## 4. Открытое по теме (маршрутизировано)
1. **Язык промпта** — полигон-замер после exp15, на реальной не-ru книге (V4-п5; не гадать).
2. **Извлечение правил в пакет** — после exp15 (форма под данные).
3. **Транскрипция per-book** (Палладий/Поливанов vs фандомные формы) — research/19 §E.3, решение
   владельца НЕ горит (дефолт: политика в пакете пары, слой 2); `{{transcription}}`-переменная уже есть.
4. **Билингв-редактору src→dst вместо голых dst-форм?** — открытый дизайн-вопрос D30.1, после exp15.
5. **Q4a/Q4c exp15** — где жить структуре (переводчик/редактор/отдельный пасс) — решится эмпирикой.
