128 lines
36 KiB
Markdown
128 lines
36 KiB
Markdown
# Промт ресёрч-сессии: АРБИТРАЖ БАНКА ПАМЯТИ — консилиум, уверенность моделей, инжект/фетч (строки 5/36б · 48 · 16)
|
||
|
||
**Выдан 02.08.2026, оркестратор №10, по прямому запросу владельца.** Ты — **ресёрч+полигон сессия**. Зона записи ровно три места: **`docs/research/24-bank-arbitration.md`** (свой файл, других в `docs/research/` не трогать) + **`eval/bank_arbitration/`** (свои харнессы; сырьё моделей — durable в `~/books/`, НЕ в scratch) + своя секция в `docs/PROGRESS.md` → `## Полигон`. ⚠ `eval/` — зона полигона: на момент выдачи полигон-сессий не запущено, но перед первой записью `git status` и опознание чужого; своё держать в своей папке. **НЕ коммитить** — лендит оркестратор. **Первый деливерабл — эхо-блок ≤10 строк** (первым сообщением ДО работы: как понял скоуп · четыре работы и их СТОП-точки · потолки денег · что вне скоупа; подтверждения не жди — работай до СТОП-условий).
|
||
|
||
**Деньги (жёстко):** работы A и D = **$0**. Пробы работ B и C ≤ **$2.00 суммарно**, суб-потолки: калибровка уверенности ≤$0.60 · арбитраж ≤$0.80 · инжект ≤$0.60. **Каждая проба пре-регистрируется**: критерий успеха/провала записан в отчёт ДО запуска (норма D39.46). Превышение любого суб-потолка = СТОП+релей, а не «добрать немного». В отчёте — деньги по каждой пробе отдельно и суммой; сырые выходы моделей персистить в `~/books/gu-zhenren/bank-arbitration/` (урок 01.08: платное сырьё в эфемерном scratch = потеря).
|
||
|
||
---
|
||
|
||
## §0. Рамка и ГЛАВНЫЙ мандат
|
||
|
||
**Слова владельца дословно (02.08):** «банк памяти сейчас центральная ценность при переводе… туда нужен как грамотный инжект так и фетч по книге, прям очень грамотно алгоритмически продуманный»; про перевод банка — «тут нужен **консилиум без голоса**… либо если модели не равноправные, то склонять вес перевода в какую-то сторону»; «могут ли вообще модели устанавливать уверенность… можно ли на таком построить банковский перевод»; и оговорка — «только тут надо ещё осторожно подходить, чтобы учитывался общий контекст и стиль, а то мы можем выбрать перевод какой-то модели, который разобьёт стиль перевода другой».
|
||
|
||
Это **гипотеза владельца, поданная на проверку, а не спецификация на стройку.** Твой мандат — проверить её, а не исполнить.
|
||
|
||
1. **МАНДАТ РЕВИЗИИ ПОСЫЛОК (норма D39.68, обязателен).** Каждый предлагаемый механизм получает вердикт-тройку: **посылка** (источник, актуальна ли) · **нужность** (что даёт НА ДАННЫХ; не даёт — «закрыть») · **форма** (лучшая из ≥2 альтернатив по названному критерию). Допустимый исход любого пункта — **«не строить»**. Замер, бьющий по ПОСЫЛКЕ задачи, обязывает остановиться и поднять через канал вопросов, а не выдать формально требуемый артефакт (процессное правило №4, D39.47).
|
||
2. **БАР (по образцу research/14).** Любой новый механизм обязан: (а) оставить детерминированное ядро авторитетным; (б) влезть в стоимостный контур; (в) **эмпирически побить бесплатный детерминированный базис** — сегодняшнюю формулу §C2-3 (частота × конформность × согласие с подписанной строкой × лемма-штраф); (г) оправдать сложность. **Не проходит (в) → не мёржить.** Это главный фильтр пака: у нас уже есть бесплатные сигналы, и платный консилиум обязан их ПЕРЕИГРАТЬ, а не продублировать.
|
||
3. **Ревью-вопрос общности:** «заработает ли на паре, которой в репо ещё НЕТ, без правки Go?» Арбитраж не имеет права стать пар-словарём: **D39.47 отменил жанровый словарь КАК КЛАСС** — решение о переводе принадлежит подписи владельца на банк КНИГИ, пар-словарь форсит один регистр как единственно верный. Консилиум, приносящий «правильный русский регистр» из пар-данных, воспроизводит ровно отменённое.
|
||
4. **Инвариант, который нельзя размывать:** терминолог **не может ничего утвердить** — тронутый им терм эмитит `draft` (помеченный ⟨проверить⟩), отказ эмитит `auto` (`terminologist.go:31-35`, §C2-7). Худшее, что делает плохой вызов, — кладёт помеченное предложение перед редактором и владельцем. Любой дизайн консилиума обязан сохранить это свойство и явно сказать, как. «Три модели согласились ⇒ канон» — запрещённая форма.
|
||
5. **Самопроверка исполнением обязательна** (свой код + сформированные запросы к моделям + полученные результаты). Полигон регулярно багует, и это искажает эксперименты (D37). **Вывод на агрегате до вскрытия единиц запрещён** — перед любым «сигнал работает» открой глазами хотя бы по одной живой единице с каждой стороны. В конце — **адверсариальный проход author≠reviewer** по своим выводам (норма 01.08: соло-самопроверка платные пробы НЕ закрывает).
|
||
|
||
---
|
||
|
||
## §1. Онбординг (карта чтения; доки целиком НЕ читать)
|
||
|
||
1. `CLAUDE.md` — «Цели и мерило» (6 пунктов) + гардрейлы (**`.env` НЕ читать** · DeepSeek thinking НЕ отключать · аномалия провайдера → вендор-дока, не гадать) → CURRENT-STATE в `docs/PROGRESS.md`, строки **5**, **36б**, **48**, **48б**, **16**, **37**, **80**.
|
||
2. `docs/architecture/05-decisions-log.md` — **D39.69 целиком** (три примитива банка §1–§3 + список закрытого ПО НУЖНОСТИ, там же диспозиция 36б), **D39.70** (ответы владельца Q1–Q8), **D39.46** (что именно измерено про контексты и про судью), **D39.47** (жанровый словарь отменён как класс), **D39.42** (роль терминолога, эмиссия auto/draft), **D39.77** (политика подписи: банк обязан приходить верным АВТОНОМНО; сид — другой артефакт).
|
||
3. `docs/research/20-bank-mining.md` — **амендмент-шапка + §C2 + §E** (открытые вопросы, в т.ч. §E-1 мини-голд). `research/13` — TL;DR + Q-структура (там же `eval/retrieval_bench.py`). `research/14` — TL;DR и правило БАР (образец дисциплины: «не бьёт базис — не мёржить»). `research/15` — через ⚠-амендмент 26.07 (двухсекционная инъекция).
|
||
4. Код (читать, НЕ править): `internal/terminology/` (`terminology.go` — Merge/AttachKWIC/ScoreVariants; `series.go`; `classify.go`) · `internal/pipeline/terminologist.go` + `banknote.go` · `internal/membank/memory.go` (`Select`, trust-ранги, `RenderGlossaryBlock`/`RenderEditorConstraintBlock`) + `mempostcheck.go` + `memvoice.go` · `internal/miner/`.
|
||
5. `eval/README.md` + `docs/experiments/00-provider-quirks.md` (шапка + секция DeepSeek-V4-Flash-0731 целиком) — **перед любым платным вызовом**.
|
||
|
||
---
|
||
|
||
## §2. Что УЖЕ установлено замером — не пере-открывать (приоры; опровергаются аргументом или замером)
|
||
|
||
Это самая важная секция промта: половина наивных форм консилиума уже фальсифицирована НАШИМИ данными.
|
||
|
||
- **Судья-модель — катастроф-ЭКРАН, а не ранжировщик (D39.46, измерено).** Слепой LLM-судья различает «сломано / не сломано», но не расставляет годные варианты по качеству. Это прямой приор ПРОТИВ схемы «модель ставит скор → скор выбирает победителя»; чтобы её принять, нужен замер, бьющий этот вывод.
|
||
- **Контексты — главный рычаг терминолога (D39.46, ратифицировано):** разрыв 6 термов при размахе 1. То есть качество арбитража сегодня двигает ПОДАЧА улик, а не количество мнений.
|
||
- **Канал отказа модели НЕСТАБИЛЕН (пакет-8, D39.50; отчёт `archive/reports/POLYGON_PREMEASURE_2026-07-26.md`):** на хвосте расширенной эмиссии роль **выдумывает dst 77–82% стабильно**, а сентинел ⟦TM-NO-DST⟧ различает «переводимо», а не «терм», и нестабилен даже там — **размах 0.375**. ⇒ «модель скажет „не уверен“» — уже проверявшаяся и провалившаяся форма. Хочешь строить на отказе/уверенности — обязан показать конструкцию, в которой этот замер не воспроизводится.
|
||
- **Согласие прогонов само по себе слабое (D39.50):** банкнота невоспроизводима между прогонами одних и тех же глав — **Жаккар 0.077–0.40**. Консенсус-механика, молча считающая согласие сильным сигналом, стоит на песке; мерить надо согласие ПО КОНКРЕТНОМУ ТЕРМУ, а не по составу списка.
|
||
- **Роль ре-решает контекстом, а не первым вхождением и не частотой** (first-occurrence-тест $0 исполнен, гипотеза первенства ОПРОВЕРГНУТА — D39.69).
|
||
- **Со-батчинг — единственное, что чинит расхождение внутри системы термов (D39.65 строка 21 → D39.69 §1):** черновики расходились по общей ГОЛОВЕ серии через границу батча (甲等→«класс», 乙丙丁等→«ранг»); порядковые и частотные трюки этого не чинят, чинит только показ набора целиком. **Это ядро возражения к по-терминному арбитражу — см. §4.**
|
||
- **KWIC-дефолт 3×40 достаточен (D39.50)**: ни одна точка сетки «подача × контекст» не отличима, 0×0 — лучшая. Не пере-открывать без нового носителя.
|
||
- **Формула §C2-3 намеренно НЕ мажоритарна** (`terminology.go:363-387`): частотный фактор ограничен 2× (floor 0.5), конформность может его перебить, согласие с подписанной строкой — отдельный фактор. Комментарий там же формулирует «почему»: N согласных чанков — это N независимых догадок из N ЧАСТИЧНЫХ видов книги, а не N подтверждений.
|
||
- **Деньги (замер, строка 16):** черновая волна + банкнота **$0.0247/волна**, терминолог **$0.006–0.013 за проход** — на 10 главах сопоставимо. Но: **арбитраж платится раз на книгу и по числу РАЗЛИЧНЫХ термов (насыщается), а инжект — на каждом чанке каждой волны каждой роли** (`memory.go:523`, `Select(chunk, chapter, sticky, budgetTokens)`). На книге эти оси расходятся на порядки. **Отсюда рабочая гипотеза пака, которую надо подтвердить или опровергнуть числами: в арбитраже качество можно покупать расточительно, в инжекте каждая строка платная навсегда.**
|
||
- **Банк обязан приходить верным АВТОНОМНО** (D39.59/67/77): подпись владельца опциональна и не является частью нормального пути. Дизайн, который «дотягивается качеством» за счёт того, что владелец всё вычитает, — не решение.
|
||
- ⚠ **Терминолог на весах 0731 сломан не алгоритмом, а транспортом:** 4 батча из 5 возвращались пустыми, банк консолидировал **1 терм из 81** (было 21/21 до смены весов; D39.86). **Валидный базлайн качества — coldrun-a, НЕ coldrun-b.** Сравнить консилиум с этой поломкой = получить фальшивую победу; такой вывод приёмка отклонит.
|
||
|
||
---
|
||
|
||
## §3. Работа A — КРИТИКА ТЕКУЩЕГО АЛГОРИТМА В КОДЕ ($0, обязательный деливерабл)
|
||
|
||
**Прямой запрос владельца.** Разбери сегодняшний путь терма от поверхности до инъекции и назови его дефекты — с `file:line`, а не по заголовкам. Маршрут: майнер (`miner/`) → банкнота (`banknote.go`, голоса чанков) → `Merge` + `AttachKWIC` + `ScoreVariants` (`terminology.go`) → серия-батчинг (`series.go`) → классификатор типов (`classify.go`, §2 D39.69) → терминолог (`terminologist.go`, эмиссия auto/draft) → банк (`membank/memory.go`) → отбор и рендер инъекции → пост-чек (`mempostcheck.go`).
|
||
|
||
На каждый найденный дефект — вердикт-тройка §0 п.1 и класс: **сломано** (даёт неверный результат) / **хрупко** (верно случайно) / **дорого** (стоит непропорционально) / **слепо** (класс явлений не покрыт вовсе). Обязательно ответь по этим точкам, каждая — с собственным вердиктом (не пересказ, а проверка):
|
||
|
||
- **Единица решения.** `ScoreVariants` ранжирует варианты ОДНОГО кандидата независимо от соседей; единственный межстрочный сигнал — `Neighbours` (согласие с уже подписанной строкой), то есть работает только когда подпись УЖЕ есть. Автономный банк подписи не имеет ⇒ **на холодном старте связность системы термов не защищена ничем, кроме со-батчинга серий.** Так ли это? Насколько широко? (серия ловит равнодлинные наборы с общей головой — а семьи с общим КОРНЕМ, регистры обращения, алиас-графы одной сущности?)
|
||
- **`Related`/`containmentRelations`** (`terminology.go:242-256`) обрезан на 4 и заявлен как «контекст для человека и модели, не индекс». Это честно — но достаточно ли для системной связности?
|
||
- **Однопроходность.** Терминолог видит книгу один раз; решения ранних батчей не пересматриваются поздними. Где это стоит качества?
|
||
- **Потери на швах:** `foldVariants` · `OriginAlias`-путь «не потерять поверхность» (`terminology.go:180-192`) · строка 48 «направленная банкнота» · строка 37 (квадратичность `AttachKWIC`: 16.8 с на 2000 кандидатов) · строка 28 (7 строк утечки латиницы через экран).
|
||
- **Инжект-сторона:** `Select` — precision over recall (`memory.go:42`), trust-ранги, sticky-окно, токен-бюджет. Что режется при переполнении бюджета и по какому правилу? Двухсекционная инъекция (закон CONFIRMED + ⟨проверить⟩) — есть ли замер, что помеченная секция читается моделью МЯГЧЕ, чем закон? (приор: замера нет).
|
||
- **Наблюдаемость арбитража:** можно ли сегодня по артефактам прогона ответить «почему у этого терма такой dst»? Если нет — это дефект класса «слепо», и он гейтит любой будущий арбитраж (нельзя улучшать то, чего не видно).
|
||
|
||
⚠ **Не чинить.** Работа A — диагноз, а не правка. Код бэкенда — чужая зона и **прямо сейчас в ней ЖИВАЯ сессия** (строки 104/46/16: `internal/config/`, `internal/pipeline/`, новый `internal_call.go`). Твои находки уезжают строками бэклога и рекомендациями §6.
|
||
|
||
---
|
||
|
||
## §4. Работа B — АРБИТРАЖ: голд → уверенность → консилиум (≤$1.40 из общего потолка)
|
||
|
||
**Порядок жёсткий: без B1 остальные пробы неинтерпретируемы.**
|
||
|
||
**B1. Голд-набор ($0, гейт остального).** Без размеченной истины любое правило арбитража нефальсифицируемо. **Ядро уже есть:** `~/books/gu-zhenren/guzhenren-seed-v2.yaml` — 58 записей, **53 `approved`** с подписанным владельцем dst; плюс дистилл-фикстура BANK-FULL (150 поверхностей побайтно равны боевому TSV, D39.75-ж) и банк coldrun-a. Собери из этого голд и **честно назови его смещение**: сид — это термы, до которых у владельца дошли руки, то есть выборка сдвинута к важным и уже спорным. Нужны ли добавки (мини-голд алиасов §E-1 research/20 — вопрос владельцу, ответа на него нет с 17.07) — реши и сформулируй запрос конкретным списком, а не «нужна разметка». Голд персистить в `eval/bank_arbitration/gold/`, провенанс каждой строки — обязателен.
|
||
|
||
**B2. Калибровочная проба (≤$0.60): МОГУТ ЛИ наши модели оценивать свою уверенность.** Прямой вопрос владельца, и он не выводится из литературы — только замером на НАШИХ моделях и НАШЕЙ задаче. Пре-регистрируй критерий. Замерь **разделяющую способность, а не точность**: попадает ли верный по голду dst в верхнюю часть шкалы чаще неверного (ранговая мера — AUC или её непараметрический эквивалент; на десятках термов доверительный интервал широкий, и это надо честно напечатать). Обязательные срезы:
|
||
- **числа против слов** (0–100 против «точно / скорее да / не уверен / не знаю») — какая форма разделяет лучше и стабильнее при повторе;
|
||
- **устойчивость к повтору** (тот же вопрос дважды — тот же скор?) и к перестановке вариантов;
|
||
- **сравнимость МЕЖДУ моделями** — ключевой вопрос: «0.9» модели A и «0.9» модели B это одна шкала? Приор: **нет**, и тогда сырой кросс-модельный скор как решающее правило запрещён без калибровки;
|
||
- **канал отказа** — воспроизводится ли нестабильность ⟦TM-NO-DST⟧ (§2) в лучшей конструкции;
|
||
- **против бесплатного базиса:** бьёт ли уверенность сегодняшние даровые сигналы (частота по чанкам, конформность, лемма, согласие вариантов) — это БАР (в). Не бьёт → в отчёт идёт «уверенность как арбитр закрыта по нужности», и это полноценный результат пака, а не провал.
|
||
|
||
**B3. Консилиум (≤$0.80): форма, а не факт.** Владелец назвал «консилиум без голоса» (равноправные модели) и допустил взвешивание. Сравни на голде минимум три формы против базиса §C2-3:
|
||
- **(и) равноправный совет** — N моделей независимо, агрегатор детерминированный;
|
||
- **(ии) улики-первым** — §C2-3 решает, совет только на спорных (близкая верхушка) — дешевле в N раз, потому что спорных меньшинство;
|
||
- **(иии) взвешенный** — веса из B2/голда, а не назначенные.
|
||
Плюс **обязательный контроль:** одна модель, спрошенная N раз (само-согласованность). Если она даёт тот же выигрыш, что совет разных моделей, то «разные семейства» не окупаются, и это ровно вопрос Q2 (строка 5), на который пак и обязан ответить.
|
||
|
||
⚠ **Главное возражение, которое обязано быть проверено, а не обойдено — СВЯЗНОСТЬ СИСТЕМЫ.** Строки банка не независимы: они образуют системы (семья общего корня, серия рангов, регистр обращения, алиас-граф одной сущности). **По-терминный argmax ломает систему, даже когда каждый выбор локально лучший** — и это у нас уже измерено на серии (§2, D39.65 строка 21). Пример класса, НЕ покрытого сегодняшним `DetectSeries` (равная длина + общая голова): семья общего корня, где члены разной длины и голова разная — модель A даёт связную тройку «энергия/камень/жила», модель B связную «ци/камень ци/канал ци», а по-терминный победитель собирает химеру из обеих. **Требование к дизайну: единица арбитража — КЛАСТЕР, а не строка**; совет голосует за согласованный набор, а отклонение отдельной строки от набора — исключение, требующее улик. Проверь это на голде и назови, какие кластеры сегодня детектируются, а какие нет.
|
||
|
||
**Стоимость обязана быть посчитана в терминах КНИГИ, а не пробы:** число различных термов насыщается, число глав — нет. Дай оценку «$ на книгу в 1000 глав» для каждой формы, с названным допущением о росте словаря.
|
||
|
||
---
|
||
|
||
## §5. Работа C — ИНЖЕКТ/ФЕТЧ (≤$0.60)
|
||
|
||
Владелец назвал инжект и фетч отдельно, и по §2 это ось РЕКУРРЕНТНЫХ денег. Известное: recall банка на холодном прогоне 0.918/0.980 (D39.58). **Но recall — не продуктовая метрика.** Мерить надо ПОСЛУШАНИЕ и ВРЕД: раз модели инъекцию слушают (наша же эмпирика), они одинаково послушно берут и неверную строку.
|
||
|
||
- **Что мерить:** доля инъецированных строк, реально отражённых в выходе; доля случаев, где инъекция ИСПРАВИЛА выход против безинъекционного контроля; и **доля, где она его УХУДШИЛА** (неверная строка, неуместный падеж/регистр, вытеснение более нужной строки бюджетом).
|
||
- **Ручки, которые стоит различить:** объём инъекции (токен-бюджет) · порядок · пометка (закон против ⟨проверить⟩) · sticky-окно · разница между черновой и редакторской формой (`RenderGlossaryBlock` против `RenderEditorConstraintBlock`).
|
||
- **Проба маленькая и адресная:** это не полный эксп-пакет, а замер, отвечающий «есть ли здесь вообще управляемый рычаг». Нет рычага — так и скажи, строка уедет в бэклог с честным «не окупается мерить дальше».
|
||
- ⚠ **Не строй эмбеддинг-ретривал.** Закрыт по нужности (D39.69), реопен = измеренный recall-разрыв НА МАСШТАБЕ, и только batch-time лейн. Если твой замер такой разрыв покажет — это находка, а не разрешение строить.
|
||
|
||
---
|
||
|
||
## §6. Работа D — РЕКОМЕНДОВАННЫЕ ДАЛЬНЕЙШИЕ АЛГОРИТМЫ ($0, обязательный деливерабл)
|
||
|
||
**Прямой запрос владельца.** Отдельной секцией — ранжированный список того, что делать дальше с банком, **как инженерная рекомендация, а не как список идей**. На каждый пункт: что даёт (по возможности числом или названным ожидаемым эффектом) · чего стоит (деньги и сложность) · на чём стоит (какой замер его обосновывает) · **чем опровергается** · зависимость от других пунктов. Явно раздели три корзины: **строить сейчас** · **измерить прежде чем решать** · **закрыть по нужности** (последняя обязана быть непустой — если у тебя всё «надо строить», ты не применил §0 п.1).
|
||
|
||
Обязательно накрой: арбитраж (итог §4) · связность кластеров · инжект (итог §5) · наблюдаемость «почему такой dst» · холодный старт против накопленного банка · перенос на вторую пару (ja→ru; ⚠ **не-CJK детектора не существует** — строка 35, en-майнер даёт 0 эмиссии, ja с zh-таблицами активно неверен 0/10) · серийный шаринг банка между книгами (строки 48а/48б).
|
||
|
||
**Свободная критика приветствуется.** Если считаешь, что центральная ценность лежит не там, где мы её ищем, — скажи это с обоснованием: это ровно тот случай, ради которого написано процессное правило №4.
|
||
|
||
---
|
||
|
||
## §7. Чего НЕ делать
|
||
|
||
`backend/` **не править ВООБЩЕ** (чужая зона; там ЖИВАЯ сессия — незакоммиченные `internal/config/`, `internal/pipeline/`, новый `internal_call.go`) · `frontend/`, `platform/`, `START_PROMT.MD`, `.claude/settings.local.json` — не трогать · **`~/books/gu-zhenren/coldrun-a/` — ЗАМОРОЖЕННЫЙ ЭТАЛОН, только чтение**; `coldrun-b/` — **стенд живой бэкенд-сессии, не трогать вовсе** · пробы гонять СВОИМ харнессом в `eval/bank_arbitration/` против API напрямую (не через движок — так проба не зависит от незакоммиченного кода; перенос выводов в движок обязан быть назван явно) · **`.env` НЕ читать** · слаги моделей — live-фактчеком `/models`, не по памяти · **DeepSeek thinking НЕ отключать**; помни, что бэнк-роли на вендор-дефолте `high` сейчас упираются в потолок (§2) — в СВОЁМ харнессе эффорт задаёшь ты сам, и это надо напечатать в отчёте, иначе числа несравнимы · тексты книги в доки НЕ цитировать (сырьё durable в `~/books`) · не коммитить · **не строить механизм, потому что он красивый** — только под измеренную нужду (канон целей, п.3).
|
||
|
||
⚠ **Фолд-ось: любое предложение обязано назвать свою цену детерминизма.** Строки банка фолдятся в `memory_version`, резолвнутая конфигурация — в снапшот → `RequestHash` → чекпойнты. Смена правила арбитража меняет банк ⇒ меняет инъекции ⇒ **промахивает чекпойнты и перекупает прогон**. Рекомендация без ответа «что это двигает и сколько стоит пере-покупка» неполна.
|
||
|
||
---
|
||
|
||
## §8. Отчёт и СТОП
|
||
|
||
`docs/research/24-bank-arbitration.md`: эхо-шапка · **§A критика текущего кода** (дефекты с `file:line`, классами и вердикт-тройками) · **§B арбитраж** (голд и его смещение · числа калибровки со знаменателями и интервалами · формы консилиума против базиса §C2-3 · кластерная связность · $ на книгу) · **§C инжект/фетч** · **§D рекомендации тремя корзинами** · **вопросы владельцу** отдельным коротким списком (если нужен мини-голд — конкретным перечнем) · **критик полноты против себя** (обязательная секция: какой класс явлений не покрыт, какая проба не гонялась, какой вывод стоит на одном источнике) · **адверсариальный проход author≠reviewer** по своим выводам · **заявление = команда**: каждое число сопровождено командой/скриптом, которым получено (приёмка их пере-ранит) · провенанс сырья · деньги по пробам и суммой.
|
||
|
||
Краткий итог — `docs/PROGRESS.md`, секция `## Полигон`, СВЕРХУ; бэклог-таблицу и CURRENT-STATE НЕ трогать. D-номер лендинга проставит оркестратор. **СТОП — приёмка оркестратора.**
|
||
|
||
**Легитимные исходы пака, которые НЕ являются провалом:** «консилиум не бьёт базис — закрыть» · «уверенность не разделяет — закрыть» · «голда недостаточно, вот точный запрос владельцу — остальное неинтерпретируемо» · «рычаг лежит в инжекте, а не в арбитраже».
|