textmachine/docs/archive/prompts/BANK_MEMORY_CONSILIUM_SESSION_PROMPT.md

51 KiB
Raw Blame History

Консилиум: БАНК ПАМЯТИ ДЛИННОЙ КНИГИ — как его строить

ОТРАБОТАН И ПРИНЯТ 16.09 — акт D39.253. Итог — ../research/35-bank-memory-consilium.md плюс одноимённый каталог. Инструкции ниже НЕ исполняются: пак закрыт. Решения владельца по итогу — D39.254; перенос банка в книгу-продолжение подписанным плюс решённым движком — D39.256, стройка двухзонная, ряд 461. Остаток, названный автором 16.09: вторая форма строки (м) по правилу остановки · отказы Р1-10 и О1-10 с доводом · §8.3 О-1 (правки круга 3 ни одним кругом не судились), О-2 (цена «лечится выборкой» названа механизмом, не величиной), О-4 (у прохода починки нет собственного прибора). О-3 закрыт словом владельца и снят автором. ⚠ Эррата 16.09-б: «причина смен передачи — якорь» сильнее замера — измерено лишь отсутствие новой улики во ВХОДЕ; причина остаётся гипотезой, гейт — ряд 466. Автор поправил обе формулировки в итоге по этому же поводу.

Выдан оркестратором №23 (продолжение, сессия textmachine-main-75) 16.09 по слову владельца 15.09: «передавай дела сессии, пусть наследуется от тебя». Ты наследуешь работу этой смены по банку. Всё, что она выяснила, спроектировала и опровергла, лежит уликой в docs/archive/reports/BANK_CONSILIUM_INPUTS_2026-09-15/. Пак без кода и без денег проекта: платных вызовов моделей пайплайна нет. Агенты Claude разрешены — из них консилиум и состоит. Якоря file:line здесь сняты по дереву 5dbb5cb.

1. Какая проблема и что решит твой результат

Приоритет №1 владельца — консистентный художественный перевод длинной книги: ранобэ на сотни и тысячи глав, купленное частями. Держит его банк памяти — словарь «исходный термин → перевод, род, окно глав», который редактор обязан соблюдать как закон. Конвейер: дешёвый черновик → банк памяти → редактор.

Что случилось 15.09. Оркестратор с советчиком Fable 5 дважды спроектировал банк заново, и оба раза предложение оказалось неверным по одной причине. Проект опирался примерно на десятую часть того, что репозиторий уже решил, построил, исследовал и измерил по банку. Сплошная сверка нашла 12 расхождений с решённым, замеренным и собственным планом, а в предложении не было названо ни одного. Предложение отозвано.

Твой результат — ОДНО проектное решение банка, выработанное советом агентов. Требования к нему:

  • стоит на построенном и ратифицированном;
  • честно называет трейдоффы и цену;
  • ставится в очередь относительно перекроя глав;
  • приносит владельцу не больше пяти вопросов в верном статусе.

Код не пишется, стройки нет.

Проблемы, которые решение обязано пройти (улики — README входов):

  • П1. Банк пере-решается. Авто-банк переписывается целиком из текущего прогона (research/34 §4 п.4, ряд 130).
    • На подписи — замерено. Между стопом банка и финалом передачи неподписанных строк сменились у 12 из 69 (A) и у 14 из 66 (B).
      • Между стопом и финалом был второй проход терминолога после человеческой подписи двух термов.
      • Эррата 11.09-и называет это ценой пере-майнинга после подписи: «Хороши ли эти 12 замен — вопрос КАЧЕСТВА» (греп Эррата 11.09-и в docs/architecture/05-decisions-log.md).
    • На следующей покупке глав — выведено из кода. ⚠ Испр. 16.09: рост авто-банка между прогонами наблюдался живьём на стенде полигона (docs/experiments/23-editor-tier.md:8237-8246 — терминолог доконсолидирует банк под бюджетом). Живьём не наблюдалось именно пере-решение уже решённой передачи и судьба отгруженных глав.
      • Покупка сперва доставляет новые юниты и только потом пере-делывает отгруженные, чьи байты сдвинул банк (backend/internal/pipeline/volume.go:410-427, DELIVERY BEFORE REWORK).
      • Пере-делка идёт с согласием на пере-оплату (:351).
      • Пока в книге есть непереведённые юниты, отгруженные главы остаются со старыми передачами.
  • П2. Тождество термина.
    • Подбор строк сравнивает нормализованную форму (backend/internal/membank/memory.go:574).
    • Хранилище и часть дверей намеренно сравнивают сырую строку: «族長 and 族长 with one sense and window are two accepted rows, not one» (backend/internal/membank/memseed.go:874-876). Это традиционное и упрощённое написание одного слова.
    • Что редактор получает при этом два закона, показала проба 01 (R2) по коду; живьём не наблюдалось.
    • Владелец спросил, тот ли это вообще термин (§1, рамка) — ответ нужен человеческими словами.
  • П3. Исходы решения. Отказ терминолога (⟦TM-NO-DST⟧ или молчание) оставляет строке передачу из черновика, и она едет редактору законом (01 T4 и B2; backend/internal/miner/miner_emit.go:261-268). Исхода «это не термин банка» нет.
  • П4. Сущность меняется по ходу книги. Классы: персонаж сменил пол после N глав · термин сменил смысл · тёзки · имя, совпадающее с обычным словом (方正) · обращение ты↔вы и голос меняются по сюжету.
    • Ответ на класс смены пола уже ратифицирован — D5 п.1. Когда в загруженных главах видна намеренная неоднозначность, ставится gender=hidden, и безродовые конструкции идут до раскрытия. Плюс ретро-патч «с тома N — так» с показом стоимости пере-перевода вмороженных глав.
    • Для обращений — D7 правка 1. Ты/вы — «журнал событий переходов», «а не статичная матрица пар (переход ты↔вы — сюжетное событие». Там же gender — «с проактивной установкой hidden Analyst-ом на неоднозначности (D5.1)». Голос входит в приоритет №1 (D39.248 п.1).
    • У этой же книги хрестоматийный случай — 白凝冰: первые главы «он», канон female — D19 п.3(в) (греп хрестоматийный кейс механизма D5.1 в docs/archive/architecture/05-decisions-D1-D38.md).
    • Построена ручная половина, проактивной нет.
      • hidden — поле сида, и у этой книги оно выставлено (греп сид финализирован (白凝冰 в docs/architecture/05-decisions-log.md).
      • Классификатор его не ставит (backend/prompts/zh-ru/classifier.md:10-11).
      • Расхождение ратифицированного (D5 п.1, D7 правка 1) с построенным — пункт §13 (д).
    • Терминолог видит три ПЕРВЫХ вхождения по книге, ±40 знаков (backend/internal/pipeline/terminologist.go:75-76, backend/internal/terminology/terminology.go:340-349). Раскрытие в поздней главе он не видит.
    • Редактору велено: «Род и форму имён и терминов сверяй по глоссарию» (backend/prompts/zh-ru/editor.md:10). Значит, устаревший род в банке может переписать верный текст — это вывод, не замер.
    • Окно одним решением двери не правится, а отказ снимает все окна поверхности (backend/internal/membank/decisions.go:90-92).
    • Окон у движковых строк почти нет. В базах A/B since_ch > 0 только у 2 строк на книгу, until_ch = 0 у всех. Нижнюю границу по первому появлению ставит только детерминированный канал майнера (backend/internal/miner/miner_emit.go:210, :387-399); кандидаты только из банкноты идут с SinceCh: 0 (backend/internal/pipeline/mining.go:612). Решение, опирающееся на окно «с главы N», опирается на то, чего у движковых строк сегодня нет.
  • П5. Сигналы без читателя.
    • Движок по умолчанию на подпись не останавливается (backend/cmd/tmctl/invocation.go:141). На платформе остановка — обязательное поле заказа stop_for_signing (platform/internal/httpapi/v0.go:655).
    • Платформа читает из банк-экспорта только terms (platform/internal/ingest/bank.go:58-70), у секции proposed читателей ноль (ряд 224).
    • Фронт заморожен.
  • П6. Номинация. Обычные слова в банк не попадают: встречается в срезе 29 раз, 家族 — 9. Отсекает их фильтр типа, а не контраст (ряд 440, причинность пере-названа 12.09). Пускать ли их — решение владельца.
  • П7. Закон задним числом. Термин решён в поздней покупке, а встречался и в уже отгруженных главах. Ратифицированные опоры: D39.42 п.5 и ретро-патч D5 п.1.
  • П8. Общность. Свёртки написания исходника (трад.→упрощ. китайский, катакана→хирагана) зашиты в ядро и применяются к любому языку (backend/internal/text/norm.go:47). Вынос в данные двигает NormVersion, а он входит в тег нарезки и в ключ манифеста (backend/internal/pipeline/manifest.go:282, :384).

Рамка владельца — дословно

Первоисточник и долговечная выписка — §5 п.2 и вход 06.

Из разговора с прежним оркестратором (с 12.09):

  • «банк памяти сразу должен идти законом»; «у редактора нет знаний о том что с этим термином сделают другие редакторы, поэтому так оставлять его опасно».
  • «принимать решение -- в точке банка памяти»; «делать на такие вот термины запросы с контекстом пожирнее».
  • «запросы перевода намайненого банка памяти очень дешевые относительно всей книги, мы можем на них не экономить».
    • ⚠ Оговорка оркестратора: на коротких прогонах A и B терминология — 15.6% и 21.0% цены, то есть заметная доля, а не мелочь.
  • 12.09: «такой банк памяти по spread может обеднять очень сильно язык. Потому что термин который можно перевести по-разному это вообще то нормальная составляющая художественного перевода»; «у нас начнут переводиться все слова в книге одинаково которые вовсе не обязаны переводится одинаково и даже плохо что они переводятся одинаково».
  • «если мы начнем майнить такие термины то это взорвет кардинальность банка памяти».
  • «возможно модель терминолог захочет выкинуть термин который выкидывать точно нельзя».
  • «редактору дано задание более живой язык предоставить, если не гейтануть его терминами, то он может переписать их часть просто под горячую руку попав».
  • 12.09, о двух его августовских записях, которые оркестратор привёл из его файла:
    • «МАЙНИНГ ЗАМЕЧАНИЙ … Заставить критика жаловаться, а не чинить» (ПТ-41; дословно в файле владельца START_PROMT.MD, который в репозиторий не коммитится);
    • безLLM-анализатор книги, считающий повторы слов и упоминания имён (строки ПТ нет). Это пересказ оркестратора; в файле это вопрос, а не идея.
    • Ответ владельца: «Пусть они останутся идеями, потому что самая оптимальная штука которая есть сейчас по цене качеству это черновик -> банк памяти -> редактор переписыватель полный. Если мы будем сюда внедрять всяких критиков то это уже начнет сильно дорожать перевод»; «Нам бы вот на текущей архитектуре разрулить проблему эту».
  • «у нас есть алгоритм в бэкенде который скипает подпись банка»; «надеяться что это отловит человек довольно ненадежно».

Из носителей:

  • «у неподписанного термина тоже обязан быть ОДИН перевод» — слово владельца, записанное в ряду 330.
  • «надо давать везде одинаково; если кто-то ошибся — это уровнем выше» — D39.104 п.1, 04.08.

15.09, в этой смене:

  • «Меня вот интересует как банк памяти решает проблему которая по идее должна быть общей»; «у нас перосонаж был мужским первые 10 глав, затем поменял пол, вот на докупке новых 10 глав, как с этим банк памяти справляется?»; «есть ли еще подобные кейсы?».
  • «То что как то замораживать банк памяти и каждый раз не переводить его это понятно, представь если там что то изменится на перевод это же пол книги может перегенерировать.»
  • «Ну вариант где замораживаем звучит логично, так а что тут не так пойти может? Форма как то перевода поменяться или что?»; «только я спрашивал скорее какой алгоритмический фикс и какие трейдоффы тут могут произойти».
    • ⚠ Испр. 16.09: вторая фраза сказана о ТОЖДЕСТВЕ термина — это пункт 4 того же сообщения, ответ про ряд 330, — а не о заморозке. О заморозке его вопрос: «что тут не так пойти может?».
  • «族长 и 族長 это точно одинаковый термин? Я китайский не знаю, но выглядит это как разные слова».
  • «Ты тут не упарываешься в конкретное решение на моих замечаниях? Нам бы придумать что то качественное вместо каких то заплаток»; «как сделать универсально»; «У нас не получается антипаттерн заплатка под конкретный язык?».
  • «может быть мы уже запланировали в бэклог что то умное что решает нашу проблему».

Что именно владелец назвал логичным — и почему это не решение.

  • Предмет — не заморозка как идея и не ряд 130, а предложение оркестратора (выписка 06, строка 870): «Заморозка. Перевод, который уже ушёл в отгруженные главы, замораживается. При следующих покупках модель про него больше не спрашивают, а спрашивают только про новые термины». К ней шли бесплатная сверка и право менять замороженное только человеку.
  • Это ровно та посылка, которую README входов велит не повторять: «Первое решение живёт до правки человеком» — против риска B1 и D39.69.
  • Вопрос владельца «что тут не так пойти может?» — о цене этой посылки. Оркестратор ответил рисками и уточнениями (выписка 06, строки 896, 920, 1038). Часть его утверждений не держится — баннер 06.
  • Позже владелец предостерёг не упираться в решение по его замечаниям. Значит, заморозка — кандидат с известной ценой, а не принятое решение. Связь с рядом 130 — прочтение оркестратора.

2. Зона записи и git

  • Пишешь ТОЛЬКО итог docs/research/35-bank-memory-consilium.md и рабочие файлы в каталоге docs/research/35-bank-memory-consilium/: протоколы раундов, пробы, таблицы.
    • docs/ — зона оркестратора, и эта запись — исключение, выданное этим промтом.
    • Прецедент: ревью контракта docs/archive/prompts/CONTRACT_REVIEW_SESSION_PROMPT_2026-08-15.mddocs/research/28-contract-review.md, лендинг оркестратором (D39.138).
    • Лендит итог оркестратор.
  • Входы docs/archive/reports/BANK_CONSILIUM_INPUTS_2026-09-15/ — только чтение.
  • Ты не коммитишь. Код, конфиги, промпты, бэклог, журнал решений, план, README и прочие доки не правишь. Нужные правки носителей даёшь списком в итоге (§13 (д)).
  • В главном дереве /home/ubuntu/projects/textmachine-main лежит незакоммиченная сдача бэкенд-сессии, ждущая приёмки: индекс и рабочие правки backend/.
    • Git в главном дереве — только чтение (status · log · show · diff · grep).
    • Запрещены add · commit · reset · restore · checkout · stash · clean · apply · worktree.
  • Код читай из замороженного дерева /home/ubuntu/tm-verify-1509 (HEAD 5dbb5cb, отцеплен; backend/ и platform/ там те же, что в 9241934).
    • State-changing git запрещён и в нём.
    • Пробы — go test в этом дереве или на tar-копии в своём скретчпаде (tar --exclude=./bin --exclude='./.env*').
    • После прогонов git -C /home/ubuntu/tm-verify-1509 status --short должен быть пуст; вывод печатаешь в протоколе.
  • Платные вызовы моделей проекта запрещены: tmctl translate/redrive и любые провайдеры пайплайна. Замер, которому нужны деньги, проектируешь с ценой и отдаёшь в итог. Санкцию у владельца берёт оркестратор.
  • Базы прогонов (~/tm-coldrun-a, ~/tm-coldrun-b) — только python3 + sqlite3 с mode=ro&immutable=1.
  • books/ — только чтение, git в нём не трогать: это отдельный репозиторий, в нём лежат сайдкары стопа банка.
  • .env не читать никогда.

3. Карта чтения — ЗАКОН; ратифицированное — в теле промта

  1. CLAUDE.md — целиком.
  2. Этот промт.
  3. docs/archive/reports/BANK_CONSILIUM_INPUTS_2026-09-15/README.md. Там же в 05-prior-art-map.json — раздел synthesis целиком; находки сверщиков S1S3 — по мере вопроса.
  4. docs/architecture/18-bank-ontology.md.
  5. docs/research/34-memory-bank-quality-audit.md — через ревью-шапку.

Справочник по мере вопроса (в счёт карты не входит):

  • входы 0104 и 06;
  • docs/research/: 14-adaptive-memory.md · 17-external-critique.md · 20-bank-mining.md · 24-bank-arbitration.md · 31-harness-independent-critique.md · 32-harness-architecture-alternatives.md · 33-backend-debt.md;
  • docs/experiments/18-editor-wire-probe.md · docs/architecture/06-memory-risk-registry.md · backend/docs/CHAPTER_STRUCTURE_DESIGN.md §4.2;
  • docs/product-requirements.md: ПТ-4 · ПТ-5 · ПТ-8 · ПТ-9 · ПТ-24 · ПТ-41 · ПТ-42;
  • ряды docs/BACKLOG.md: 14 · 38 · 47 · 130 · 131 · 161 · 192 · 221 · 223 · 224 · 233 · 322 · 330 · 339 · 406409 · 434 · 436 · 438440;
  • ноты ниже.

Журнал решений целиком не читать:

  • тело — греп ^## D<номер> в docs/architecture/05-decisions-log.md и в слайсах docs/archive/architecture/;
  • статус одним хопом — docs/architecture/05-decisions-index.md;
  • подномер живёт пунктом родителя.

Ратифицировано — сверь тело ноты до пункта, прежде чем опираться

  • D5. Бриф заморожен, новые термины дописываются, принятое молча не пересматривается. П.1 — проактивный gender=hidden и ретро-патч «с тома N — так» (подробно — П4).
  • D7 правка 1. Ты/вы — журнал событий переходов; genderс проактивной установкой hidden (подробно — П4).
  • D39.42. ⚠ Испр. 16.09 (находка консилиума, сверена): список терминов, частоты и KWIC берутся из ИСХОДНИКА всей книги и полны после первой покупки (D39.170, ловушка 1); из черновиков купленных глав приходят только варианты передачи. П.5: смена банка после оплаты — пере-редактура ТОЛЬКО затронутых юнитов, со сметой до согласия.
  • D39.59 (2). «БАНК — КУРС НА АВТОНОМНОСТЬ: подпись владельца ОПЦИОНАЛЬНА»; «банк обязан приходить с максимально качественными АВТОНОМНЫМИ переводами».
  • D39.69. «гипотеза первенства ОПРОВЕРГНУТА»: терминолог ре-решает контекстом. Риск B1 (docs/architecture/06-memory-risk-registry.md:44): «первый (наименее информированный) перевод имени лочится на 1000 глав».
  • D39.102 п.2. Закрыты «по нужности» целиком: равноправный консилиум как прод-механизм · кросс-модельное взвешивание уверенностью · self-consistency N прогонов · селекция «выбери из вариантов» · отказ-сигнал ⟦TM-NO-DST⟧ · эмбеддинг-фетч (закрыт D39.69). Совет моделей как механизм банка не предлагается; к формату этой сессии пункт не относится.
  • D39.104 п.1. Банк на проводе — ЗАКОН для всех ролей, независимо от статуса строки. Право «перевести иначе» упразднено. Свобода — узкая оговорка ОБЛАСТИ употребления.
    • Принятая цена: «неверная авто-строка едет консистентно до ревью (чинится одной правкой банка + ре-эдитом; разнобой не чинится ничем)».
    • П.2: единый закон-блок редактора вместо двухсекционки. Ряд 134, которым п.2 заказывал внесение, закрыт D39.195 п.2.
    • Проба (docs/experiments/18-editor-wire-probe.md:621): «Не подтверждено: оговорка области §B … В движок не вносить.»
  • D39.144 п.1. Банк подписывается целиком, пер-термная подпись — не модель продукта. Механику пост-ридинговых правок не проектировать до полигонных итогов.
    • D39.165 сужает этот пункт (греп ОБЛАСТЬ D39.144 п.1 СУЖЕНА ЯВНО): открыть дверь к построенному движковому механизму — не то же, что проектировать продуктовый цикл.
    • Полигон выведен из скоупа (D39.248 п.4), поэтому триггер ряда 192 «итоги фазы Д» не наступит. Это вывод оркестратора.
  • D39.193. П.1: род производит классификатор. П.3 — дедуп ЗАКОН-БЛОКА редактора: ключ уникальности банка — (src, sense, since, until); уступает неподписанная строка и только подписанной; подпись не роняется никогда.
  • D39.205. П.4: гейт глоссария не включается до замера ложных срабатываний. П.5: направление владельца «или флагать, или ПЕРЕГЕНЕРИРОВАТЬ проблемный участок» — такой работы сегодня нет.
  • D39.245. Акт ратифицирует ПРЕДМЕТ структуры глав, а не механику. П.7: перечеканка экспортных id уронила бы КАЖДЫЙ банк-экспорт платформы — отсюда bankTermID не двигать (backend/docs/CHAPTER_STRUCTURE_DESIGN.md:693).
  • D39.248. П.1: голос входит в приоритет №1. П.2: Fable 5 — 12 агента на сессию. П.4: полигон вне скоупа.

Открытые решения владельца — вопросы, а не запреты

  • Ряд 130 = research/34 §4 п.4: копить ли авто-банк между прогонами.
    • Это СТОП-решение; материал — WARN второго прогона.
    • 15.09 владелец назвал логичным близкий, но не тот же предмет — предложение «заморозка + сверка» (§1, рамка). Считать это его позицией по ряду 130 — прочтение оркестратора.
  • Ряд 440: пускать ли обычные существительные в банк детерминированным каналом.
  • research/34 §4:
    • п.1 — стоп или флаг на разъехавшемся термине;
    • п.3 — один перевод у неподписанного термина: оба выхода стоят денег;
    • п.5 — остановка на подпись: опция или свойство продукта.
  • Ряд 192: пост-ридинговый цикл правок банка (триггер недостижим — см. D39.144 выше).

4. Разметка свободы: как работает консилиум

Слово владельца дословно: «на протяжении всей работы это скорее не прям ресерч а ресерч консилуум где идет совет о том как строить между разными агентами (разрешаю 1-2 фабла по необходимости для этой сессии)».

Делай РОВНО так (отступление — пинг):

  1. Совет, а не один автор. Порядок работы:

    • не меньше ТРЁХ независимых проектов от агентов с разными заданными углами; каждый пишется до знакомства с другими;
    • перекрёстная критика: каждый проект судит агент, который его не писал;
    • сведение в одно решение; несогласие записывается, а не усредняется.
  2. Роли совета обязательны. Роль может нести один агент, но не автор проекта, который она судит.

    • Адвокат рамки владельца (§1).
    • Адвокат денег и детерминизма.
    • Адвокат общности: «заработает ли пара, которой в репо нет, без правки Go».
    • Хранитель построенного и решённого — сверяет каждый механизм с картой 05 и деревом.
    • Опровергатель фактов кода — исполнением.
  3. Fable 5 — не больше двух агентов на всю сессию.

    • Модель задаёшь явно (model: "fable").
    • Вопросы по тому же предмету досылаешь уже поднятому агенту. Второй Fable — только под другой предмет, с доводом в протоколе.
    • Fable — советчик, а не источник истины: его посылки проверяются деревом.
    • Субагенты и воркфлоу на других моделях разрешены явно; сколько их работает, ты знаешь.
  4. Сначала «не построено ли уже» и «не решено ли уже», потом любой новый механизм. У каждого нового механизма в итоге:

    • таблица «что по этому предмету уже есть: решено · отложено · в плане · построено · выключено · исследовано · опровергнуто»;
    • довод, почему нужен новый.

    Отсутствие этого шага — ровно причина отзыва двух прошлых проектов.

  5. Правило остановки проверки итога.

    • Не больше трёх кругов.
    • Сходимость — круг, не давший НОВЫХ находок (любой серьёзности).
    • Миноры последнего круга закрываются ещё одним кругом — или остановкой.
    • Не сошлось за три — стоп: итог с таблицей остатка и строкой §13 (м) во второй форме.
  6. Формат утверждений: о коде — file:line по 5dbb5cb; о решении — D-номер с пунктом; о замере — источник, прибор и популяция.

Решаешь сам и аргументируешь:

  • число раундов до проверки итога;
  • углы проектов;
  • формат протоколов;
  • какие $0-пробы нужны;
  • нужен ли второй Fable (в границах п.3);
  • давать ли авторам проектов тексты отозванных 02, 04 и ответов оркестратора из 06 — если да, только вместе с баннером.

Мои приоры по углам — по карте 05, этой сменой не проверены, опровергаются доводом:

  • «минимум на построенном». Включить и расширить уже построенное:
    • dropBankSettled — на решения движка, плюс адресуемые по содержимому чекпойнты партий (ряды 38, 233);
    • спящий журнал glossary_revisions (ряд 221);
    • семейный пере-запрос с якорями решённых членов (research/24, ряд 339);
    • ранжирование очереди человека по уверенности.
  • «журнал решений с окнами». Направление отозванных 02/04, которое критик 03 признал годным как направление.
  • «продукт без человека в петле». Всё решается в точке банка, без подписи.
  • «сначала замер». Как растёт пере-решение на 10 → 50 → 200 глав, прежде стройки (research/31, research/24).

5. Самопроверка исполнением — и где этот пак мягкий

Механизм назван:

  1. Каждое несущее утверждение о коде проверяет агент-опровергатель ИСПОЛНЕНИЕМ: проба или go test в замороженном дереве, python3 по базам, греп с печатью контрольной величины.
  2. Цитаты итога проверяются скриптом — и скрипту не верят на слово.
    • Из поиска исключается ВСЁ, что породила эта сессия: итог, протоколы, черновики агентов в docs/research/35-bank-memory-consilium*. Иначе каждая цитата найдёт сама себя.
    • Проверяется АТРИБУЦИЯ, а не только наличие строки: цитата стоит в НАЗВАННОМ источнике и говорит о том же предмете.
    • Число дословных — ВЕРХНЯЯ ОЦЕНКА; остаток закрывается чтением. Подстрочный поиск меряет наличие строки, а не происхождение утверждения.
    • Пример из 05: 180 цитат → 178 дословных, но у 2 из них неверная атрибуция; 1 не найдена; 1 сводчиком не учтена.
    • Слова владельца сверяются по первоисточнику, а не по этому промту. Промт и выписку 06 писал оркестратор, и сверка по ним круговая.
      • Первоисточник — транскрипт сессии оркестратора /home/ubuntu/.claude/projects/-home-ubuntu-projects-textmachine-main/6bf42f99-b840-4396-80ac-ab93384b11dc.jsonl.
      • Строки файла считаются с 1: строка 17 — вставка разговора с прежним оркестратором; строки 878, 1042, 1094, 1296, 1362 и 1456 (сообщение из очереди) — слова 15.09.
      • Транскрипт вне репозитория и умрёт с машиной; долговечная копия — 06, сделанная скриптом.
      • Цитаты владельца в этом промте опровергатель сверил с транскриптом в трёх кругах.
      • В итоге называешь, по чему сверил.
  3. Итог судят агенты, не участвовавшие в сведении, и хотя бы один из них — ДРУГОЙ моделью, чем автор сведения.

Проверяемый артефакт — таблица §13 (з).

Где мягко — сюда смотри в первую очередь:

  1. Изобрести построенное, решённое или опровергнутое — класс, из-за которого отозваны оба прошлых проекта.
    • Карта 05 — отправная точка, а не потолок: сверщики читали не всё (synthesis.obstacles).
    • Живой пример — D5 п.1: ратифицированный ответ на заглавный кейс владельца. Карта его нашла, а ни один из двух проектов его не использовал.
  2. Сфабрикованная сходимость. Агенты одной модели на одном входе сходятся потому, что читали одно. Разнообразь модели и входы. Несогласие пиши в протокол.
  3. «$0» и «центы» без прибора.
    • Что двигают memory_version, NormVersion, снапшоты волн, перекупка банк-ролей и пере-редактура — у каждого шага цена с механизмом и файлом.
    • Отдельно — порядок относительно перекроя глав: окна по ординалам, идентичность термина и главы, нормализация. Сверка — с CHAPTER_STRUCTURE_DESIGN.md §4.2, рядом 161 и D39.245.
  4. Якорь на отозванном. Тексты 02, 04 и ответы оркестратора в 06 сильные и неверные. Автор, прочитавший их первыми, склонен их повторить. Отдельно — «владелец назвал логичным» не делает кандидата решением (§1, последний абзац рамки).

6. Оси проверки

Таблица приёмки роли оркестратора. Заменить ось можно с доводом.

  • Ресёрч / текст. Claim-fidelity: цитаты — дословные подстроки первоисточников. Типовой провал — ОВЕР-АТРИБУЦИЯ, а не фабрикация. Пере-открыть выборку улик. Опровергатель — другой моделью.
  • Доки. Утверждения сверяются с кодом и живыми носителями, а не с памятью агента.
  • Замеры (для плана §13 (г)). Пере-вывод чисел из сырья, независимость сигналов, контрольная величина рядом с каждым нулём.

7. Записка-план ДО первого агента

В начале итога — раздел «План консилиума»: углы проектов, роли, раунды, пробы, что считаешь сходимостью.

8. Заявление = команда; дисциплина ответа

  • Каждое число и каждая категорика — с командой или прибором, деревом и популяцией.
  • Отрицательное утверждение («не построено», «нет читателя», «ноль») печатается с контрольной величиной рядом.
  • Числа входов частью сняты только оркестратором (README входов). Опираешься на них — пере-сними тем же прибором.
  • Эрудиция — не улика. У утверждения есть грунт (file:line, замер, D-номер с пунктом) или пометка «мнение». Мнению не место под видом факта.
  • Плотность, а не объём. Без шаблонных оговорок.
  • Перед итогом сверь каждый клейм с результатом инструмента ЭТОЙ сессии. Последний абзац оказался планом — сделай его сейчас.

9. Эхо-протокол старта

  1. Первое действие — свой блок в /tmp/textmachine-channel с role=консилиум. Роль оркестратор в файле уже занята, и второй блок с ней сделает адрес эха неоднозначным.
  2. Второе — эхо на адрес блока role=оркестратор session=textmachine-main-75, сверив его с ListAgents. Не больше 10 строк СВОИМИ словами: скоуп · инварианты · чего не делаешь · что в этом промте считаешь неверным или опасным.

10. Что НЕ удалось и где прибор слеп — обязательная секция итога

Форма пункта: что осталось невидимым · почему не закрыл · чем закрывается. Спрашивай себя не «что не получилось», а «что я знаю и не сказал». В коде названо, в отчёте нет — значит для следующей смены не названо.

11. Канал вопросов, право отказаться и правки на ходу

  • Конфликт промта с кодом или ратифицированным — пинг оркестратору, а не интерпретация.
  • Право сказать «этого делать не надо» с доводом у тебя есть.
  • Решения владельца не принимаешь — ставишь их вопросами в итоге.
  • Правки заказа на ходу доезжают ТОЛЬКО релеем: владелец пере-передаёт правку отдельным сообщением, ты подтверждаешь её эхом и записываешь отдельным пунктом итога. Ответы оркестратора на твои вопросы по прямому каналу — не правки заказа.

12. Прямой канал

Механизм — CLAUDE.md §«Связь между сессиями». Дословно: канала нет ⇒ НЕ искать. Нужной роли в файле нет, файла нет или имя не отвечает — это нормальный случай. Не опрашивай сессии подряд: вопросы идут секцией итога, работа продолжается.

13. Критерий завершённости

Итог docs/research/35-bank-memory-consilium.md содержит:

  • (а) Решение одним документом:
    • что банк есть;
    • как проходит каждая проблема П1П8;
    • как проходит каждый класс из рамки владельца и П4, включая ответ на «есть ли еще подобные кейсы» — перечнем классов;
    • как решение не обедняет язык: какие слова остаются свободными и чем это держится;
    • как оно не взрывает кардинальность банка;
    • как оно не даёт терминологу выкинуть термин, который выкидывать нельзя;
    • что берётся из построенного (file:line) и что строится нового — с таблицей §4 п.4.
  • (б) Трейдоффы с ценой и механизмом. Обязательно — что ломается при заморозке банка: вопрос владельца «что тут не так пойти может?». Разбор рисков из 06 — какие держатся, какие нет и почему.
  • (в) Порядок паков относительно перекроя глав (ряд 161, D39.245), с зонами.
  • (г) Замеры до стройки: вопрос · арм-дизайн · популяция · контроль · цена. Каждый помечен «$0» или «нужна санкция владельца».
  • (д) Нужные ратификации (ноты, эрраты) и правки носителей (ряды бэклога: открыть, закрыть, дописать) — списком предложений. Среди них — расхождение D5 п.1 и D7 правки 1 с построенным: ручная половина есть, проактивной нет.
  • (е) Не больше пяти вопросов владельцу. Каждый — по-человечески, без трекер-жаргона, со статусом (открытое решение с номером · отложенное · новое) и с рекомендацией.
  • (ж) Протокол консилиума: проекты · критика · записанное несогласие · кто сошёлся и почему.
  • (з) Проверка итога: таблица «находка → что сделано → чем предъявлено». Последний круг не дал новых находок — или остановка правилом §4 п.5 с таблицей остатка.
  • (и) У каждого пункта этого заказа — исход: сделано · не делаю с доводом · пинг.
  • (к) Секция §10.
  • (л) Числа итога сняты после последней правки. Всё живое лежит в дереве, а не в письме. Мутаций нет: пак без кода.
  • (м) Явная строка «работа завершена, править не планирую» или «работа завершена по правилу остановки, круги не сошлись — остаток в таблице».

Сдача — одно сообщение оркестратору по прямому каналу: путь итога и строка (м). Канала нет — итог и строка (м) лежат в дереве, владелец прочитает и пере-передаст.