textmachine/docs/BACKEND_PACK20_BANK_TRUST_SESSION_PROMPT.md

7.9 KiB
Raw Blame History

Промт бэкенд-сессии: ПАК-20 «банк: флаговый стоп + покрытие WHAT→WHICH» (ДВУХФАЗНЫЙ: синк → дизайн → ратификация → стройка)

Статус: ВЫДАН 26.07.2026, оркестратор №8. Исполняется ПЕРЕД паком-19 (голос/состояние). Санкция владельца: флаговый стоп — часть конечной архитектуры («отключение верификации и полное доверие бэкенду»). Ратифицированная база: D39.36 (семантика флага, слова владельца) · D39.37 (приёмка мини-прогона, замер покрытия) · research/20 §D (дизайн-оф-рекорд майнинга, D39.6) · exp16→D39.10 (расщепление: WHICH находит код, WHAT доставляет банкнота ИЗ КОНТЕКСТА; перевод со-встречаемостью запрещён).

Первый деливерабл — эхо-блок (≤10 строк): скоуп / инварианты / чего не делать. ДО работы.

ШАГ 0 — ОБЯЗАТЕЛЬНЫЙ СИНК (мандат владельца 26.07, ДО дизайна)

Владелец: «сессии синкуют свою имплементацию об документацию, код вокруг и так далее». Прежде чем проектировать — сверь ТЕКУЩУЮ реализацию банка с ратифицированной базой и положи в отчёт фазы 1 таблицу «источник ↔ код ↔ вердикт (совпадает / расходится / не построено)». Расхождение = пинг оркестратору через владельца, НЕ тихая интерпретация. Что сверять:

  • docs/research/20-*.md §D — дизайн-оф-рекорд майнинга (ратифицирован D39.6);
  • отчёт exp16 + D39.10 — почему dst обязан приходить из контекста, а не из со-встречаемости;
  • D39.36/D39.37 в D-логе + docs/archive/reports/MINIRUN_HANDOFF_2026-07-26.md §36 — что уже починено, замер покрытия каналов (0/2 и 1/2), хвосты;
  • код: internal/pipeline/{mining,banknote}.go · internal/miner/miner_emit.go · internal/membank (trust-gate, пост-чек, Ambiguous-инъекция) · prompts/zh-ru/translator.md (банкноты в нём НЕТ — проба шла на копии).

Семантика флага — «РОВНО ТАК» (слова владельца, D39.36)

Флаг НЕ передан → бэкенд делает всю работу от начала до конца сам: предложения банкноты входят в банк как auto → инжектируются как Ambiguous («непроверено» + принудительный пост-чек), прогон НЕ останавливается. Флаг передан → стоп с таблицей (src · предложенный dst · частота · разброс вариантов · улики), предмет верификации — ТОЛЬКО термины; подпись → approvedConfirmed. В обоих режимах: провенанс сохраняется (поздняя подпись возможна), reject-set работает, ничего неподписанного не становится Confirmed. Флаг — операторский режим, НЕ ось wire/снапшота.

ФАЗА 1 — ДИЗАЙН (кода не трогать; отчёт → СТОП → ратификация)

  • B1. Форма флага: имя (--verify-bank? предложи), где живёт, как ложится на translate/redrive.
  • B2. Покрытие WHAT→WHICH — ядро пака. Замер: банкнота покрыла кандидатов майнера в 0/2 и 1/2 раундов. Факт кода: майнер офлайн и читает ИСХОДНИК — может бежать ДО драфт-волны. Спроектируй и посчитай ДЕНЬГАМИ на главу: (а) кандидаты майнера → в банкнота-инструкцию драфт-промпта («предложи перевод для этих терминов»); (б) точечный дешёвый до-спрос на границе стопа с контекстом главы; (в) гибрид. Констрейнты: dst только из контекста (exp16 — со-встречаемость запрещена); судью и веб-фетч НЕ вводить (не ратифицированы; хочешь — развилка владельцу, не тихая вставка).
  • B3. Банкнота в шиппинг-промпт: перенос блока ⟦TM-BANK-v1⟧ из пробной копии в prompts/zh-ru/translator.md; какие оси двигает (SHA промпта → resnapshot — заявить явно); бюджет строк; не-CJK пары не ломать хуже текущего fail-loud.
  • B4. Авто-режим на большой книге: без флага раундов стопа нет вовсе — как копятся auto-термы, где их видно для поздней подписи, что показывает разброс вариантов (слабое предложение = сигнал, не блокер); риск закрепления auto-канона на всю книгу — назвать и показать смягчение.
  • B5. Тест-пин джойна (фикс-лист №1 D39.37: мутация DeltaYAML(mined, пустая_карта) сегодня ВЫЖИВАЕТ всю сьюту — обязана краснеть сквозным тестом).

Приёмка фазы 1: отчёт docs/archive/reports/PACK20_BANK_DESIGN_<дата>.md — эхо-блок · синк-таблица шага 0 · по каждому B варианты/рекомендация/деньги/риски · адверсариальный селф-ревью. СТОП — ратификация (контрольная точка владельца).

ФАЗА 2 — после ратификации

Инварианты: golden-дисциплина (двигаешь промпт — объявляй оси, маскированный структурный дифф пуст вне заявленных) · парити EXACT · -race · «пере-мерь свой вывод ДРУГИМ способом, чем получил» (норма D39.37) · заявление = команда (приёмка ре-ранит) · мутация на каждую новую ветку · дифф ^func Test исполнением · сессия НЕ коммитит, git mv декларировать.

НЕ делать

Механизмы D21 (пак-19, после) · судья · веб-фетч-перевод · L3 · авто-подпись «умным» порогом (флаг бинарный — слова владельца) · платные прогоны (смета в фазе 1, живой прогон — отдельное решение) · книжный канон в код или в D-лог (гардрейл: книго-каноны → данные книги).

Канал вопросов: непонятно / конфликт промта с кодом или доками → пинг оркестратору через владельца, НЕ тихая интерпретация. Аддендумы доезжают только релеем — подтверди получение строкой в отчёте.