textmachine/docs/archive/prompts/BACKEND_PACK20_BANK_TRUST_SESSION_PROMPT.md

18 KiB
Raw Permalink Blame History

ПАК ЗАКРЫТ ЦЕЛИКОМ 26.07.2026, АРХИВ. Фаза 1 D39.41 · решения D39.42 · фаза 2 D39.45 · размотка словаря D39.47/48 · дизайн и стройка дисциплины банкноты D39.51/53. Отчёты: archive/reports/PACK20_BANK_{DESIGN,BUILD}_2026-07-26.md, PACK20_DELTA_2026-07-26.md, PACK20_BANKNOTE_{DESIGN,BUILD}_2026-07-26.md.

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

ФАЗА 1 ИСПОЛНЕНА И ПРИНЯТА (D39.41, 26.07): отчёт docs/archive/reports/PACK20_BANK_DESIGN_2026-07-26.md с ревью-шапкой; верификация 39 CONFIRMED / 7 PARTIAL / 0 REFUTED. РЕШЕНИЯ ВЛАДЕЛЬЦА РАТИФИЦИРОВАНЫ (D39.42) — фаза 2 идёт по НИМ, а не по P1P5 отчёта (те не строятся, вердикт сессии подтверждён). Директива фазы 2 — ниже, секция «ФАЗА 2».

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

Первый деливерабл — эхо-блок (≤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 — ДИРЕКТИВА (ратифицирована D39.42; читай D39.41/42 в D-логе ПЕРВЫМИ, потом свой отчёт фазы 1 с ревью-шапкой)

Архитектура — слова владельца: черновая волна всей книги → майнер (из исходника) + банкнота (варианты из черновиков) → ТЕРМИНОЛОГ переводит весь смердженный банк сразу по полным контекстам → стоп (флаг) или авто → редакторская волна по готовому банку. Строй по порядку:

  1. B5 тест-пин ПЕРВЫМ (до любого изменения поведения — сегодня смену семантики стопа не делает красным ничего, S8): сквозная фикстура, впервые зажигающая mining.go:40-102 (contrast_path в тестовом конфиге); джойн с НЕПУСТЫМ пересечением; мутационный чек-лист фазы 1 (§6) целиком; плюс пин waverun.go:316 (резюм-восстановление) · mining.go:68 (reject-сет) · chunkrun.go:130-136.
  2. Терминолог (ядро). Роль terminologist в пар-паке (prompts/zh-ru/); вход: смердженный банк (двусторонний $0-джойн майнер∪банкнота: alias/containment-резолвер + обратная секция) + KWIC-контексты вхождений из ИСХОДНИКА + варианты черновиков + Палладий-данные + жанровый словарь пары (новый файл данных langpack; общепринятое индустрией, куратор — владелец; НЕ книжный канон); выход: консолидированное dst на каждый терм (формула research/20 §C2 п.3, НЕ мажоритарность) + провенанс + разброс. Эмиссия двухрежимная §C2-7: есть dst → status:draft, нет → auto. Батчи, дешёвая модель; смета ДО живого вызова; веб-фетча НЕТ (D39.42 п.2) — интерфейс расширяем, включение отдельным решением после полигон-ресёрча. Вызовы терминолога живут в штатном durable-контуре денег (reserve→settle+чекпоинт, $0-реплей на резюме) и видны в status/леджере — новая роль не заводит второй учёт.
  3. Флаг --verify-bank (CLI-only bool, translate+redrive; дефолт = авто-продолжение): стоп показывает БОГАТУЮ таблицу выхода терминолога (src · dst · частота · разброс · контексты; кап stdout + сайдкар — S4); починить S16 (draft-only теряет BookResult) и S17 (вывод стопа в translate, баннер в redrive); экзит-код-контракт; fail-loud при невозможном майнинге.
  4. Авто-провод: неподписанные строки с dst едут РЕДАКТОРУ (и черновикам следующих прогонов) с маркером ⟨проверить⟩ (механизм D32/S1 готов); редакторский блок расширяется на не-Confirmed ОТДЕЛЬНОЙ помеченной секцией — закон и рабочие версии не смешивать; ВСЕ строки банка (включая auto/draft) фолдятся в версию памяти ⇒ тихих путей к байтам провода не существует, README-инвариант №2 НЕ трогается; reject-сет применяется И на загрузке (риск 3 фазы 1); авто-строки фильтруются из seedSurfaces (риск 2, самоисключение майнинга); guard коллизии ключей auto↔signed (риск 4) и расширение диагностики коллизий на auto-строки (S14 — сегодня approved-only, две противоречивые строки на одну поверхность не ловятся); пост-чек: Confirmed-only ПО ТИПУ (не дисциплиной фильтра на колл-сайте), рядом — $0-канал наблюдаемости «показано → следовала/отступила» на том проводе, где строка реально показана (решение P4, верифицировано; чинит «ambiguous меряется не на том проводе»); auto/draft-строки видны в tmctl status/report (наблюдаемость — блокер 10 не повторять).
  5. Точечная ре-редактура по ключу (смена банка после оплаты — поздняя подпись и любая правка): --resnapshot-семантика — пере-пин $0 юнитов с неизменными байтами, пере-оплата только юнитов, где терм встречается; для честной сметы «N юнитов, ~$X» ДО согласия — починить P3 (проекция rebill по contentHash-рендеру, ≈60120 мс, + корректное моделирование sanitizer_stripped — блокер 6).
  6. Банкнота: отдельный prompts/zh-ru/translator-banknote.md + prompt_override в конфигах канала (буквальный перенос в translator.md ЗАПРЕЩЁН — S5); срез безусловный (byte-identical путь доказан фазой 1 P2); bankTokenBudget пере-считать честной формулой движка (144 впритык/отрицателен — D39.41) — двигается вместе с остальными осями; лимит 12 строк пересмотреть по замеру (22% блоков упёрлись); S12 (parse_fail без сепаратора) починить; микро-проба финальных байт промпта ≈$0.02 САНКЦИОНИРОВАНА (развилка 11 — да).

Архитектурные заделы (владелец 26.07 — НЕ строить, соблюдать КОНТРАКТОМ): (а) серия книг: подписной глоссарий книги обязан round-trip'иться как СИД следующей книги серии (экспорт approved-строк → сид-YAML; спойлер-окна при таком импорте плющатся в since_ch=0) — формат выхода не должен это ломать; (б) импорт готового перевода (оригинал + чужой перевод): входной контракт терминолога — «терм + контексты исходника + target-СВИДЕТЕЛЬСТВА», БЕЗ предположения, что target = наш черновик; импортированный перевод — ещё один источник свидетельств (режим данных, не ветка кода), провенанс обязан различать источник. Юридическая сторона импорта чужих переводов — юр-пакет Ф2.5, не этот пак.

Приёмка фазы 2: отчёт docs/archive/reports/PACK20_BANK_BUILD_<дата>.md — таблица «пункт директивы ↔ сделано ↔ доказательство исполнением» · деньги до цента (микро-проба + батчи терминолога, из леджера, не из памяти) · список мутаций (каждая красная) · адверсариальный селф-ревью. Заявление = команда — приёмка ре-ранит.

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

НЕ делать (фаза 2, по D39.42)

Ось lane/durable-реестр P1 · ретирование Gates.Banknote.Enabled (булев остаётся) · направленная банкнота (отложена — вернуться по замеру покрытия терминолога) · неподвижная точка P5 · M2-кэш · веб-фетч · судья · механизмы D21 (пак-19, после) · L3 · авто-подпись «умным» порогом (флаг бинарный — слова владельца) · платные прогоны сверх микро-пробы и смет терминолога без отдельной санкции · книжный канон в код или в D-лог (жанровый словарь — ПАРА/ЖАНР, не книга; сомнение = пинг).

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