Compare commits

...

3 commits

7 changed files with 132 additions and 17 deletions

View file

@ -0,0 +1,79 @@
# Промт: ПОЛИГОН — эксп-22 «панель жильцов: черновик-слот и редакторы»
Санкция владельца 08.08 (параллельный оркестратор, D39.117). Зона: `eval/` (весь каталог — твоя зона; новый код — в `eval/tenant_panel/`, точечные починки списка Ф0.3 — в `eval/role_topology/`; риг НЕ пере-изобретать — absjudge/battery/касса переиспользуются) + `docs/experiments/22-tenant-panel.md` + пинг в PROGRESS «Полигон» (только append своей секции, CURRENT-STATE не касаться). «Строка N» ниже = строка ЕДИНОГО БЭКЛОГА `docs/PROGRESS.md`; «§0.1» = канон общности `docs/architecture/12-go-style-notes.md`.
**Потолки фаз (ПРЕДВАРИТЕЛЬНЫЕ): Ф0 ≤$0.40 · Ф1 ≤$1.00 · Ф2 ≤$2.00 · Ф3 ≤$1.60; сумма ≤$5.00.** Смета каждой фазы считается ДО её фриза по фактическим ценам эксп-21 ($/вызов из сырья) — не влезает → СТОП и пинг ДО покупок, не резать молча и не пробивать (эксп-21 пробивал потолки против буквы промта — устная санкция владельца была и подтверждена, но класс закрыт: потолок = механический стоп перед КАЖДЫМ вызовом + тест кассы на СВОИ теги до покупок; эксп-21 трижды платил мимо кассы).
## Онбординг: что за проект и какую проблему решает ТВОЙ пак
TextMachine переводит большие художественные тексты (вебновеллы, zh/en→ru, миллионы знаков) мультиагентным пайплайном: дешёвая модель пишет черновой перевод → терминолог собирает банк терминов книги (инжектируется ролям как ЗАКОН) → модель-«редактор» переписывает черновик начисто → детерминированные $0-гейты ловят брак. Цели: издательское качество (победить translationese), консистентные термины на всю книгу, низкая себестоимость. Онбординг роли — по CLAUDE.md (README → CURRENT-STATE → голова D-лога → `eval/README.md` + quirks); жаргон (арм, банк, банкнота, эхо-мина, декой, скрин, жилец…) — `docs/glossary.md`, читать при первом непонятном слове.
**Что уже известно (эксп-21, принят D39.117) и какую дыру закрываешь ты.** Топология «черновик → редактор-переписыватель» побила однопроходку, обратную связку и точечный ремонт; это решено, ты это НЕ пере-меряешь. Обозначения армов — эксп-21 §0 (там таблица): `F` черновик как есть · `A`/`A_law` черновик→dspro без/с закон-блоком · `B` черновик→glm-5 · `D`/`D_` однопроходка dspro с мандатом/без. Дыра, которую закрываешь ты: обе роли топологии почти не перебирались по моделям —
- **Черновик двигает ~70% качества финала** (§16.2: тот же редактор над другим черновиком — 7.66 против 5.91 ошибок), а черновиком за всю историю проекта была одна модель, `deepseek-v4-flash`. Самая чувствительная роль ни разу не перебиралась.
- **Выбор редактора двигал ~ноль** (`A/B` +0.06) — но доказано только на паре {`deepseek-v4-pro`, `glm-5`}. Старый эксп-04 (мёртвое поколение, слабый риг — величины не цитировать) называл `gemini-3.1-pro` лучшей прозой из четырёх: гипотеза «gemini-pro — проза-аутлаер» не мерена современным ригом.
⚠ Числа выше — ПРИОРЫ для сметы и дизайна, не ожидания: новый замер их не обязан воспроизвести; расхождение = находка, не ошибка.
**Твой вопрос:** кто жильцы двух ролей — черновика и редактора. Твоя работа — замер и числа; ИТОГ даёт вход для решения владельца плюс рекомендацию по ратифицированному правилу ничьей (см. критерии). Сам конфиг движка после решения правит бэкенд-сессия — не ты. «Правильного ответа» не существует, армы равноправны; движок по паре/модели не ветвится (§0.1), поэтому любой исход — строки конфига, не код.
## Карта чтения (сверх онбординга роли, ≤5, по убыванию)
1. `docs/experiments/21-role-topology.md` — ИТОГ · §0 (риг, армы, материал, методика отбора единиц и проб контаминации) · §8 (что доснять + бесплатные починки) · §16 (деконфаунды).
2. `docs/experiments/00-provider-quirks.md` — целиком ДО первого платного вызова (дополнения 08.08 по luna/glm-5/Gemini — из эксп-21).
3. `eval/role_topology/` — рабочая оснастка: `absjudge.py` (абсолютный агент-риг: рубрика, персист, декой, контроль позиции) · `battery.py` · `itog.py`/`verify_report.py` (образцы гейтов чисел) · `buy.py` (касса) · текст закон-блока грепом `HEADER_LAW_PLAIN`.
4. D-лог грепом: **D39.104** (банк-закон) · **D39.117** (рамки этого пака) · **D39.47** (образец «ручной канон ≠ подпись владельца»).
5. `docs/experiments/04-editor-quality.md` — только как источник гипотезы gemini-pro.
## ЗАКОН (не пере-открывать; отступление = пинг; право «этого делать не надо» на пункты с пометкой ОБЯЗАТЕЛЕН не распространяется — там путь один: пинг)
- **Банк-закон D39.104 (ОБЯЗАТЕЛЕН):** закон-блок (текст = константа `HEADER_LAW_PLAIN` оснастки, БЕЗ оговорки области — сверь с эксп-21 §0) во всех армах с переводом/редактурой; банкнота — на переводческом проходе.
- **DeepSeek: thinking НЕ отключать** (эхо-мина). Слаги — live `/models` в день старта (это $0 и делается в Ф0); цены — прайс-страница вендора. **Вахта dspro:** сверка вендор-changelog маппинга эффорта в Ф0 и перед Ф3; маппинг сменился ПОСЛЕ фриза Ф2 → стоп и пинг, не тихое пере-снятие.
- **Судейство — агенты сессии по абсолютному ригу** `absjudge` (амендмент владельца 07.08; D39.117). Протокол: per-vote персист каждого голоса ВМЕСТЕ с обоснованием (в эксп-21 персистились только числа — чинишь в Ф0) · декой ОБЯЗАТЕЛЕН: судейская сессия, не поймавшая декой, аннулируется целиком, пере-прогон списывается с капа · позиционный наклон СВОЕЙ панели замерь и вычти (+0.147/шаг эксп-21 — приор, не константа) · Claude-модели в АРМЫ не брать (судьи — Claude; запрет судьи семейства жильца). **КАП: ≤60 агент-запусков на пак; 1 запуск = одна судейская сессия суб-агента, судящая пакет до ~20 текстов.** План расхода по фазам — в пре-рег; не влезает дизайн — ПИНГ, не резать молча (слово владельца 08.08: агенты не бесплатны).
- **Sol** = флагманская reasoning-модель OpenAI в ChatGPT-ПОДПИСКЕ владельца («Сол» в его словах; high reasoning; точный слаг неважен — это UI, не API): ты готовишь текстовые paste-ready пакеты, владелец вставляет их в чат руками и возвращает ответы, ты персистишь их дословно в сырьё как голоса внешнего судьи. Для парных предъявлений Sol — слепые метки, ОБА порядка, декой (правило зеркальности живо для пар-протокола; для абсолютного оно снято — D39.117 п.2в). **Семейный запрет симметричен: Sol не судит клетки OpenAI-моделей** (luna и любой OpenAI-финалист скрина).
- Пре-рег — ОДИН документ, дополняемый секцией на фазу; КАЖДАЯ фаза фризится своим коммитом ДО своих покупок (фриз-коммит включает код оснастки фазы — это и есть коммит-исключение полигона); amend фриза запрещён, девиации — явно в отчёте. Критерии Ф2/Ф3 фиксируются во фризах этих фаз (им нужен шумовой пол).
- **Верификатор чисел отчёта и команда пере-снятия ИТОГа (класс `itog.py`/`verify_report.py`) заводятся С ПЕРВОГО ДНЯ (ОБЯЗАТЕЛЕН):** в эксп-21 несущие числа не имели пути воспроизведения до пост-хок аудита. Ненулевой код = отчёт не сдаётся. Деньги — двумя независимыми путями: касса + пересчёт из сырых `usage` × прайс (образец `verify_report.py` §ДЕНЬГИ); леджер = нижняя граница.
## Ф0 — подготовка (≤$0.40: пробы контаминации + банк среза; остальное $0)
1. **Пре-рег (секция Ф0/Ф1):** кандидаты по live-листингу · pass/fail пороги скрина · прогнозы «кто возьмёт роль» (прогноз калибрует удивление; совпадение НЕ цель) · смета · план агент-запусков.
2. **Невиданный zh-срез — повторный заказ, эксп-21 его НЕ исполнил (ОБЯЗАТЕЛЕН).** Ищешь сам в открытом вебе: свежая вебновелла 2026 без опубликованного ru-перевода (метод поиска и проверки непереведённости — в пре-рег); контаминация — методикой эксп-21 §0 (`eval/role_topology/contamination.py`: пробы узнавания и клоуз, по 5 на книгу; контроль пробы — заведомо известная книга), **узнавание ≥3/5 = материал непригоден**; нотация «1/5» = одна проба из пяти узнана. Единицы (16 zh) отбери методикой эксп-21 §0 (середина длин, дедуп, хеш-ключи); файлы в `~/books/` (вне git), хеши в пре-рег. Пригодного материала нет → СТОП и пинг; подмена узнанной книгой (как в эксп-21) запрещена. **Пара en обязательна как ось переноса:** Kristoff (чистая, 1/5), единицы уже отобраны; выбрось `129b73ad5a` (библиография, не проза).
3. **Починки из эксп-21 §8 в `eval/role_topology/` — ОБЯЗАТЕЛЬНЫ до первой покупки:** гейт ре-гена ХАРНЕССА (buy/bakeoff) проверяет и целевую письменность (принимался английский текст с латиницей 0.79) · карту раскладки слепого чтения вынести из каталога пакетов · персист обоснований судьи · три лживых докстринга.
4. **Sol-пакет (а) — арбитраж эксп-21, ОБЯЗАТЕЛЕН в Ф0** (из существующего сырья, $0): минимум контраст `A/F` (платные судьи разошлись: luna +0.84 против gemini +3.03 — 14 sd шума замены); прочие контрасты добавь по ФАКТИЧЕСКИМ расхождениям судей в сырье (реши сам, аргументируй). Форма: слепые метки, оба порядка, декой, инструкция вставки, шаблон ответа. Пакет (б) — слепые пары финалистов, по готовности Ф2/Ф3. Владелец не вернул транскрипты к сдаче → отчёт сдаётся с явной строкой «Sol не вернулся», это не блокер.
5. **Банк среза** — терминолог-прогоном (в потолке Ф0) + ручной канон по образцу D39.47 с пометкой «НЕ подпись владельца»; против него читается метрика покрытия канона. ⚠ Банк-ОСЬ экспериментов (наличие банка как фактор — строки 5/36б) — чужой слот, НЕ варьировать; собрать банк для метрики — твоя обязанность, это не то же самое.
## Ф1 — профиль-скрин (≤$1.00)
**Кандидаты:** live-листинг по ключам DEEPSEEK · ZAI · KIMI · OPENAI · GEMINI · XAI · MISTRAL; дешёвый тир (кандидаты черновика) + сильный тир (кандидаты редактора) каждого провайдера; >16 моделей — срежь по прайсу с обоснованием (провайдера целиком не выкидывать — хотя бы один слот). xAI: кредиты исчерпаны 07.08, вопрос у владельца; на день Ф1 не пополнены → явная строка «xAI не скринился», НЕ ждать.
**Пороги: содержательные, из требований пайплайна, записаны ДО замера** — эхо/утечка не выше боевого гейта · цена/единица не выше объявленного порога роли · отказ/цензура на чувствительном фрагменте среза = дисквалификация роли на этом материале · формат-дисциплина/NO_CHANGE · дисциплина к черновику · управляемость размышления. Порог, не способный отсеять никого, — не порог (урок эксп-21: скрин убил 2 из 12); но пороги выводятся из требований, НЕ подгоняются под желаемый состав. Урок эксп-20: механический показатель ≠ качество — спорных кандидатов СТИЛЬ-осей скрином не решать, доводить до Ф2/Ф3.
**Выход:** состав панелей Ф2/Ф3 с числами по КАЖДОМУ кандидату — и вошедшему, и нет (симметрично, без асимметрии оправданий). Ф2: до 5 жильцов черновика + `deepseek-v4-flash` (якорь); Ф3: до 5 редакторов = якоря `deepseek-v4-pro`, `glm-5` + **`gemini-3.1-pro`** (ОБЯЗАТЕЛЬНЫЙ кандидат: жив листингом → идёт в Ф3 независимо от скрина, скрин-числа при нём) + до 2 новых со скрина. «До N» — потолки, не цели: бери всех, кто прошёл, до потолка.
## Ф2 — панель черновиков (≤$2.00; главный рычаг)
Каждый жилец: черновики 16 единиц zh + ≥6 en (обе оси обязательны), с банкнотой и законом. Меряется: **(а)** абсолютный агент-суд черновика как текста; **(б)** боевой редактор (`A_law`-конфиг) поверх КАЖДОГО черновика — доезжает ли качество до финала; **(в)** частота эхо-мины (доля ре-генов; приор flash/zh 31%); **(г)** батарея + покрытие канона; **(д)** цена/единица и проекция на книгу.
**Шумовой пол — ДО интерпретации перевесов** (несня́тый досъём §8 п.1): один арм Ф2 (какой — реши сам, зафиксируй во фризе Ф2) дважды end-to-end на идентичных 16 единицах; пол = sd попарных разностей по единицам (методика эксп-21 §ШУМ / `itog.py --pool`); применяется к Ф2 И Ф3. Перевес ниже пола печатается вердиктом **«ниже порога различимости»** — это статус «не разрешено ригом», запрета печатать числа нет.
Черновики ФРИЗЯТСЯ — общие для Ф3 (парный дизайн). Клетка «dspro-над-flash» покупается здесь ОДИН раз и в Ф3 переиспользуется как якорная (только суд, без пере-генерации).
## Ф3 — панель редакторов (≤$1.60)
Редакторы full-regen с законом поверх ОДНОЙ якорной базы — замороженного боевого flash-черновика. Вторая база (лучший черновик Ф2) — ОПЦИЯ: только если Ф2 дал отрыв выше пола и смета влезает (реши сам, аргументируй). Довесок на купленном сырье эксп-21: прямой контраст `D_/A` — агент-голосами (с капа; генерации НЕ покупаются). Опция при влезании: уравненные промты мандата `D`/`D_` (строка 153 — реши сам).
**Критерии Ф2/Ф3 — во фризах фаз, ДО покупок:** «X бьёт Y при перевесе > пола по осям …»; средние исходы = «ниже порога различимости»; **правило ничьей ратифицировано D39.117: при неразличимости рекомендация = самый дешёвый жилец** (это правило отчёта, не ожидание результата).
## Отчёт
`docs/experiments/22-tenant-panel.md`: **ИТОГ — вход для решения владельца** (жилец черновика · жилец редактора · цена/книга связки p50/p95 ПО ЕДИНИЦАМ против боевой пары; рекомендация по правилу ничьей) · «заявление=команда» на каждое число · сверка прогнозов Ф1 (расхождение = находка) · критик полноты ПО ФАЗАМ · **диспозиции строк бэклога: 55 (закрыл ли срез остаток «неконтаминированный zh») · 150 (судьба Sol-пакетов) · 153 (если гнал)** · что НЕ переносимо и почему. Пинг в PROGRESS «Полигон» — коротко.
## Мандат самопроверки (обязателен)
Ревью исполнением: свой код + сформированные запросы + результаты. Вывод на агрегате до вскрытия единиц запрещён (D39.61) — перед сравнительным выводом открыть хотя бы одну единицу с каждой стороны. Линтер зоны (`ruff`, конфиг эксп-21) — с первого дня. Адверсариальный проход author≠reviewer до сдачи.
## Канал вопросов и границы
- Непонятно / конфликт промта с кодом-доками / потолок мал / материал не находится / кап не вмещает дизайн → СТОП и пинг оркестратору через владельца, НЕ тихая интерпретация. Право «этого делать не надо» — с аргументом (кроме пунктов ОБЯЗАТЕЛЕН).
- НЕ трогать: `backend/` и чужие зоны (движок — только read-only/оверлеи, образец эксп-18 §0.1); банк-ось как фактор (Ф0.5).
- ToS Z.AI: ЗАМЕР glm-5 легален (якорь покупается); гейт ToS касается ПРОД-выбора жильца — пометь в ИТОГе как гейт решения владельца. Лейбл-вопросы — не твоя задача.

File diff suppressed because one or more lines are too long

View file

@ -16,7 +16,7 @@
- `research/` — фактура ресёрчей 0125; у принятых — ревью-шапки, часть тел под ⚠ superseded: **читай баннер прежде содержимого**. Ключевые для навигации: 15 голос · 16 ридер-IDE · 17 внешняя критика · 18 рычаги качества · 19 нарезка · 20 банк-майнинг · 21 обзор транспорта · 22 доменные харнессы · 23 шов движок↔платформа (транспорт superseded D39.106) · 25 холодное ревью шва — форма D39.106, отвергнутые альтернативы, требования к эмиттеру (читать перед любым кодом стыка) · 24 арбитраж банка (ПРИНЯТ D39.102: консилиум закрыт классом, вход фикс-пака банка — §G).
- [PROGRESS.md](PROGRESS.md) — журнал: CURRENT-STATE + **ЕДИНЫЙ БЭКЛОГ** (единственный трекер) + живой хвост хроники. НЕ источник решений.
- `scripts/counts.py`**производные числа доков считаются им, а не руками** (голова по трём носителям · счёт очереди и зон · вес открытых строк регистра платформы); `--check` даёт ненулевой код на расхождении. Его же зовёт зонный хук `scripts/githooks/pre-commit` при коммите, задевающем D-лог или PROGRESS — предупреждает, не блокирует. Заведено по D39.112 п.5б: голова отставала трижды у трёх разных оркестраторов.
- Активные хендофф-промты сессий (состав обновляется при каждом лендинге — норма D39.80): [ORCHESTRATOR_SESSION_PROMPT.md](ORCHESTRATOR_SESSION_PROMPT.md) (роль/нормы; состояния не дублирует) · [POLYGON_PACKAGE4_SESSION_PROMPT.md](POLYGON_PACKAGE4_SESSION_PROMPT.md) (полигон, отложен) · **платформа: ОТРАБОТАН ЦЕЛИКОМ** — четыре сессии (P0 D39.107 · P1+P2 D39.109 · фикс-пак P3 D39.114); текст в архиве, [`archive/prompts/PLATFORM_P0_SESSION_PROMPT_2026-08-04.md`](archive/prompts/PLATFORM_P0_SESSION_PROMPT_2026-08-04.md), копия с баннером ещё лежит в зоне. Следующий промт платформы — по слову владельца (реконсилятор/тейлер/юниты, D39.107 п.3(3)) · **фронт: S3 ОТРАБОТАН и ПРИНЯТ D39.115** (контракт 0.2.0 в каноне, копии байт-равны, слой данных построен); текст в архиве, [`archive/prompts/FRONTEND_S3_SESSION_PROMPT_2026-08-04.md`](archive/prompts/FRONTEND_S3_SESSION_PROMPT_2026-08-04.md). Промт S4 — по слову владельца. Зонные журналы фронта/платформы — `frontend-PROGRESS.md` / `platform-PROGRESS.md` в их зонах (решение владельца 04.08: прогресс зон только там). **Бэкенд: [BACKEND_BANK_CLUSTER_FIXPACK_SESSION_PROMPT.md](BACKEND_BANK_CLUSTER_FIXPACK_SESSION_PROMPT.md)** (фикс-пак банка, строка 128+129; санкция D39.103) · **Полигон: [POLYGON_ROLE_TOPOLOGY_SESSION_PROMPT.md](POLYGON_ROLE_TOPOLOGY_SESSION_PROMPT.md)** (эксп-21 «топология ролей» — **ЗАПУЩЕН и оплачен стадиями, сессия ЖИВАЯ**; приёмка у ПАРАЛЛЕЛЬНОГО оркестратора, не №15; D39.108, инцидент восстановления — D39.113). Очередь и состояние — только CURRENT-STATE.
- Активные хендофф-промты сессий (состав обновляется при каждом лендинге — норма D39.80): [ORCHESTRATOR_SESSION_PROMPT.md](ORCHESTRATOR_SESSION_PROMPT.md) (роль/нормы; состояния не дублирует) · [POLYGON_PACKAGE4_SESSION_PROMPT.md](POLYGON_PACKAGE4_SESSION_PROMPT.md) (полигон, отложен) · **платформа: ОТРАБОТАН ЦЕЛИКОМ** — четыре сессии (P0 D39.107 · P1+P2 D39.109 · фикс-пак P3 D39.114); текст в архиве, [`archive/prompts/PLATFORM_P0_SESSION_PROMPT_2026-08-04.md`](archive/prompts/PLATFORM_P0_SESSION_PROMPT_2026-08-04.md), копия с баннером ещё лежит в зоне. Следующий промт платформы — по слову владельца (реконсилятор/тейлер/юниты, D39.107 п.3(3)) · **фронт: S3 ОТРАБОТАН и ПРИНЯТ D39.115** (контракт 0.2.0 в каноне, копии байт-равны, слой данных построен); текст в архиве, [`archive/prompts/FRONTEND_S3_SESSION_PROMPT_2026-08-04.md`](archive/prompts/FRONTEND_S3_SESSION_PROMPT_2026-08-04.md). Промт S4 — по слову владельца. Зонные журналы фронта/платформы — `frontend-PROGRESS.md` / `platform-PROGRESS.md` в их зонах (решение владельца 04.08: прогресс зон только там). **Бэкенд: [BACKEND_BANK_CLUSTER_FIXPACK_SESSION_PROMPT.md](BACKEND_BANK_CLUSTER_FIXPACK_SESSION_PROMPT.md)** (фикс-пак банка, строка 128+129; санкция D39.103) · **Полигон: [POLYGON_TENANT_PANEL_SESSION_PROMPT.md](POLYGON_TENANT_PANEL_SESSION_PROMPT.md)** (эксп-22 «панель жильцов»; санкция D39.117, запуск = слово владельца) · **эксп-21 ОТРАБОТАН и ПРИНЯТ** (D39.117; отчёт `experiments/21-role-topology.md`), текст промта в архиве — [`archive/prompts/POLYGON_ROLE_TOPOLOGY_SESSION_PROMPT_2026-08-06.md`](archive/prompts/POLYGON_ROLE_TOPOLOGY_SESSION_PROMPT_2026-08-06.md). Очередь и состояние — только CURRENT-STATE.
- Зоны фронта (чужие, читать при касании стыка; каждая ведёт СВОЙ зонный бэклог — единый бэклог их строк не принимает, D39.84): [../frontend/](../frontend/) — веб-интерфейс: промт фронт-сессий S0S7 + [STACK_DECISIONS.md](../frontend/docs/STACK_DECISIONS.md) (пины версий точными числами и ловушки, сверены с вебом 02.08) + [BACKLOG.md](../frontend/docs/BACKLOG.md) · [../platform/](../platform/) — SaaS control plane: README + [BACKLOG.md](../platform/BACKLOG.md) (П-1..П-5) + `docs/` (промт P0 · зонный журнал `platform-PROGRESS.md`).
- `archive/` — история ([правила архива](archive/README.md)): закрытые промты (`prompts/`) · отчёты с ревью-шапками (`reports/` — на них ссылаются приёмки) · исполненные арх-доки (`architecture/`) · слайсы хроники `PROGRESS-*.md`. Инструкции оттуда не исполнять.
- Диаграммы: [../backend/docs/components.puml](../backend/docs/components.puml) · [../backend/docs/pipeline.puml](../backend/docs/pipeline.puml) — дом рядом с кодом (D39.80), правятся бэкендом одним коммитом с кодом; вручную НЕ рендерить (владелец смотрит PlantUML-расширением VS Code).

View file

@ -1,4 +1,4 @@
# Журнал решений оркестратора — контракт D1D39.116 (развязки 04.07 · пакеты 0910.07 · приёмка/качество-первым/пивот/эмпирика 1112.07 · арх-ресет+стройка пере-прогонного стека 1319.07)
# Журнал решений оркестратора — контракт D1D39.117 (развязки 04.07 · пакеты 0910.07 · приёмка/качество-первым/пивот/эмпирика 1112.07 · арх-ресет+стройка пере-прогонного стека 1319.07)
> **КАРТА АКТУАЛЬНОСТИ (ревизия D31, продлена до D38.2 [12.07]; исторические записи ниже НЕ переписываются — дисциплина D23.3).** Читая контракт целиком, держи под рукой, что чем перекрыто:
> ⚠ **Навигация (актуализация 07.08, эра D39.1xx):** append-only-дисциплина (D23.3) означает, что
@ -9,7 +9,12 @@
> успешная ре-аутентификация, NIST не говорит — наш жёсткий предел это НАШ выбор, строже нормы») ·
> **D39.109 п.4 читать через D39.106 п.3** (PD-59 superseded, пайп-путь `supervisor.go` = дев-режим)
> · **D39.109 п.1 и «живой уязвимости не нашла» читать через D39.112 п.2(в)** (отказ в обслуживании
> входа ЕСТЬ — PD-80) · **D39.110 п.1 «дословно по смыслу» читать как ПЕРЕСКАЗ** решения, не цитату.
> входа ЕСТЬ — PD-80) · **D39.110 п.1 «дословно по смыслу» читать как ПЕРЕСКАЗ** решения, не цитату ·
> **D39.108 (продуктовый вывод «второй проход на dspro отрицателен», эксп-20 §5.2 «со слов») читать
> через D39.117 п.4** — опровергнут эксп-21 честным ригом: `A/F3` +2.50 Holm 0.0004, топология
> подтверждена, жильцы неразличимы · **D39.113 (таблица потерь: «правки промта — параллельный
> оркестратор») читать через D39.117 п.7** — ошибочная атрибуция: правки параллельного не терялись
> (его HEAD — финальная версия); чьи модификации были в дереве — достоверно неизвестно.
> ⚠ **Навигация (актуализация 04.08):** два supersede-указателя эры D39.9x: **D39.88/D39.84 п.8 (право самокоммита фронта/платформы) → отозвано, коммитит ТОЛЬКО оркестратор** (D39.98 п.3; тела переписаны на месте с санкцией владельца, pre-rewrite — git `2b166b7`) · **норма 30.07 «короткая приёмка» → амендирована владельцем 03.08: приёмка всегда адверсариальная** (носитель — промт оркестратора §Анти-паттерны + D39.101 п.1) — упоминания «короткой приёмки» в телах читать через эту пометку · **двухсекционная редакторская инъекция и смягчающая роль маркера ⟨проверить⟩ → доктрина инжекта D39.104**: банк на проводе = ЗАКОН для всех ролей независимо от статуса строки, право «перевести иначе» упразднено, блок редактора — ЕДИНЫЙ, маркер с провода снимается (статусы строк и подписная таблица не меняются; внесение в движок — строка 134 после пробы 18) — упоминания двухсекционки/смягчения в телах читать через это.
> ⚠ **Навигация (актуализация 01.08):** карта ниже детально покрывает D1D39.28; решения D39.29+ живут хронологически в теле файла, **свежая голова — С ХВОСТА** (новые ноты аппендятся вниз). Сводка текущей головы и очередь — CURRENT-STATE в `../PROGRESS.md`.
@ -1653,3 +1658,19 @@ API-529-долг закрыт: 8-осевой refute-by-default воркфлоу
**6. Норма изоляции панелей перенесена из D-лога в промт оркестратора** — она жила только в ноте, а читают промт. Там же пустой заголовок «Текущее состояние и очередь — НЕ здесь» получил тело: где именно они живут и что числа берутся скриптом.
**7. Что НЕ сделано и почему.** Срез хроники PROGRESS в архивный слайс (живой хвост несёт №11№13, эра D39.91105) — не делал: файл прямо сейчас держит полигон-сессия, а срез это перекладывание сотни строк в контендящемся файле, то есть способ потерять чужую работу второй раз за сутки. Режет тот, кто лендит полигон. Из 78 находок закрыт первый эшелон (промты, статусы, висячие ссылки, незанесённое) — остаток воды (дубли пин-таблиц, историческое тело `API_CONTRACT_DRAFT.md`, §1 «как есть» в `09-target-architecture.md`) в этот проход не тронут: он не вводит сессию в заблуждение, а только удлиняет чтение.
## D39.117 — ЭКСП-21 ПРИНЯТ; подтверждения владельца по тратам и агент-судейству получены; строка 65 закрыта; курс — эксп-22 «панель жильцов» + Sol-арбитраж (08.08, параллельный оркестратор — приёмка полигона, мандат владельца 08.08). ✅
**1. Вердикт: ПРИНЯТ.** Проверено исполнением 08.08: `verify_report.py` — 90 проверок, ноль провалов, код 0; `itog.py` пере-снимает каждое число ИТОГа из сырья, код 0. Встречные аудиты полигона (снизу вверх / сверху вниз) приняты; мой краш-репорт `med = med(costs)` (`verify_report.py:237`, неточное восстановление после инцидента D39.113) полигоном починен, линтер зоны заведён. Приёмка по норме пропорциональности — инлайн + исполнение гейтов, без панели. Механика — пинг «Полигон» и §18 отчёта, здесь не дублируется (D39.112).
**2. Подтверждения владельца 08.08** (в чате этой сессии; пересказ, не цитаты): **(а)** траты 07.08 — устная санкция владельца по ходу сессии БЫЛА и подтверждена («я разрешал тратить»); против буквы промта пробития остаются зафиксированными в отчёте, промт эксп-22 закрывает класс механическим стопом и тестом кассы на свои теги. **(б)** Амендмент «судья пака не покупается за токены» (агент-судейство вместо платного) — подтверждён ⇒ числа §11§18 легитимны, платный пере-суд не нужен. **(в)** Правка риг-требований («оба порядка» → абсолютная шкала) — это девиация от промта ОРКЕСТРАТОРА, не решение владельца, ратифицирую сам: требование зеркальности писалось под платного ПАР-судью; в абсолютном протоколе позиции пары не существует, а позиционный сдвиг замерен и вычтен (+0.147/шаг метки); все четыре агента независимо свернули парные пакеты в абсолютные оценки — инструмент сам отверг форму. Для ПАРНЫХ предъявлений (Sol-пакеты) оба порядка остаются обязательными.
**3. Диспозиции гейт-строк (гейт «эксп-21» исполнен).** **142** — точечная починка ОТКЛОНЕНА как замена редактора (`C2/A_law` 3.75 Holm 0.0006; при реальной детекции не лучше черновика, `C2/F3` 0.94; гипотеза эксп-20 «$0.0002 чинит всё» мерилась при идеальных флагах и пала) и ПРИНЯТА формой «механический пре-гейт ПЕРЕД редактором» (брак 5 клеток против 10/23 при половинной цене $0.00298/$0.00602; ремонт ТОЛЬКО с банком — без банка ломает канон 0.917→0.895); стройка — бэкенд-промтом по команде владельца. **65** — ЗАКРЫТА: движки dspro/glm-5 неразличимы (`A/B` +0.06 p=0.95; `A_law/B` 0.69 порога не проходит) ⇒ жилец редактора — вопрос ЦЕНЫ, то есть конфиг; остаток строки (слепое чтение инструментарием D39.8(3)) переезжает в Sol-протокол, строка 150. **106**НЕ закрывается: эксп-21 дал довод против диффов (полный regen выигрывает у ремонта), но с оговоркой полигона — чинил дешёвый фиксер по предложению, а не сильный редактор узким мандатом; гейт «перепроверить до стройки» в силе, приоритет понижен. **55** — частично закрыта (направление главного вывода воспроизведено на чистом en-материале, узнавание 1/5); остаток «неконтаминированный zh-срез» — заказ ПОВТОРЁН эксп-22 Ф0 жёстко: эксп-21 его не исполнил (главный zh-замер на книге 4/5, без пинга).
**4. Опровергнута продуктовая строка D39.108 «второй проход на dspro отрицателен по слепому суду»** — она стояла на непersisted замере §5.2 эксп-20 и была помечена «со слов»; эксп-21 честным ригом дал обратное (`A/F3` +2.50 Holm 0.0004 · `A_law/F3` +2.81 Holm 0.0098 · нога 2×2: работает топология, не жилец). Стек-баннер CURRENT-STATE поправлен, supersede-указатель добавлен в карту. Пометка «со слов» отработала как задумано — величина не успела стать основанием стройки.
**5. Курс владельца 08.08:** **(а)** эксп-22 «панель жильцов» — промт выдан (`docs/POLYGON_TENANT_PANEL_SESSION_PROMPT.md`): профиль-скрин с pass/fail порогами, записанными ДО замера → панель черновиков (слот несёт ~70% эффекта финала — §16.2; за всю историю проекта черновиком была одна модель) → панель редакторов поверх замороженных черновиков (обязательный кандидат `gemini-3.1-pro` — аутлаер-гипотеза эксп-04, современным ригом не мерена) + шумовой пол (§8 п.1) + прямой `D_/A` (§8 п.2) довесками. **(б)** Слепое чтение владельца ЗАМЕНЕНО Sol-арбитражем (владелец черновики читать не хочет; ChatGPT Sol high-reasoning руками владельца через подписку = внешний контур третьего семейства): пере-суживаются расходящиеся контрасты эксп-21 (`A/F`: luna +0.84 против gemini +3.03 — расхождение 2.19 балла = 14 стандартных отклонений шума судьи-замены, собственным шумом не объясняется) и слепые пары эксп-22. **Правило ничьей эксп-22 ратифицировано:** при перевесе ниже порога различимости рекомендация отчёта — самый дешёвый жилец. Оговорка записана честно: Sol — LLM, «издательское качество для человека» им не доказывается; человеческий контур остаётся за пилотом Ф2.5. **(в)** Агент-судейство — под явным капом (агенты не бесплатны — слово владельца 08.08; кап ≤60 запусков в промте эксп-22).
**6. Хвосты в трекер:** строки **149153** заведены (эксп-22 · Sol-арбитраж · отказной режим связки · слипание абзацев · чистый контраст мандата); строки **12 и 82** получили $0-прототипы эксп-21 (`battery.check_numbers` — синтетика 16/16 · `battery.check_gender` по карточкам сида, 86112 сверок/арм) — указатели внесены в их тела, сами строки живы (движковые гейты не построены); кредиты xAI — в лист владельца; три провод-факта эксп-21 §8 внесены в quirks 00 (Gemini fail-closed приходит БЕЗ объекта `message` · `gpt-5.6-luna` без ручки эффорта — пустой оплаченный выход · `glm-5` гасится `extra_body`).
**7. Поправка к D39.113:** строка таблицы потерь «незакоммиченные правки промта — параллельный оркестратор» — ошибочная атрибуция: HEAD `73a7e7a` и был финальной версией промта параллельного оркестратора, его правки не терялись. Чьи модификации были в дереве — достоверно неизвестно; вероятно, полигона (его пинг предлагает правку требования стр.59 того же файла), и тогда их суть уцелела в пинге. Буква D39.113 не переписывается (D23.3) — читать через эту поправку.

View file

@ -1,3 +1,5 @@
> **⛔ ОТРАБОТАН И АРХИВИРОВАН (08.08, D39.117).** Эксп-21 исполнен пятью редакциями и ПРИНЯТ; отчёт — `docs/experiments/21-role-topology.md` (ИТОГ + §18), приёмка — D39.117. Девиации от промта (агент-судейство вместо платного · снятие «обоих порядков» для абсолютного рига · контаминированный zh-материал вместо заказанного свежего среза · потолки фаз пробиты) ратифицированы/учтены той же нотой. Инструкции НЕ исполнять.
# Промт: ПОЛИГОН — решающий пак «топология ролей перевода» (эксп-21)
Санкция владельца 06.08 (оркестратор №15). Зона: `eval/role_topology/` + `docs/experiments/21-role-topology.md` + пинг в PROGRESS «Полигон». **Гейт старта: экспы 18/19/20 залендены с ревью-шапками приёмки** — числа там поправлены, шапка первична над телом.

View file

@ -28,10 +28,12 @@
|---|---|---|
| **DeepSeek v4-flash** | гибридная reasoning-модель, thinking ON по умолчанию | **Управление (официальные доки, api-docs.deepseek.com/guides/thinking_mode, проверено 04.07): в body `extra_body={"thinking":{"type":"enabled"\|"disabled"}}`** (дефолт enabled). Т.е. выключить МОЖНО, параметр есть. НО для роли ПЕРЕВОДЧИКА не выключать: `disabled`→non-thinking режим, который на плотном CJK **ЭХАЕТ исходник**. Оставлять thinking ВКЛ; reasoning→`reasoning_content`, `content` чистый; ~~`max_tokens` ≥8000~~ **→ см. строку 0731 ниже: флор 8000 ПРОБИТ**. ⚠ **thinking-режим НЕ поддерживает `temperature`/`top_p`/penalties** (шлём — молча игнорируются). ~~`reasoning_effort`: только `high`/`max` (low/medium→high, xhigh→max)~~ **→ УСТАРЕЛО, см. строку 0731**; `none` в OpenAI-формате НЕ существует → 400. Для дешёвой роли ЭКСТРАКЦИИ (не перевод) thinking можно выключить — echo бьёт по переводу, не по JSON-выводу (перепроверить). |
| GLM-4.5-air / 4.6 | thinking ON, не влезал в 180с | отключить: `extra_body: {"thinking": {"type": "disabled"}}` |
| **glm-5** | thinking ON по умолчанию | гасится тем же `extra_body: {"thinking": {"type": "disabled"}}` — подтверждено живыми армами эксп-18/21 (арм B шёл thinking-OFF; провод-факт эксп-21 §8) |
| Gemini 2.5 Flash | thinking ON, съедал `max_tokens`, **молча обрезал перевод** | отключить: `extra_body.google.thinking_config.thinking_budget: 0` |
| **Gemini 3.1 Pro** | thinking **обязателен** | `thinking_budget:0` → HTTP 400 «only works in thinking mode». НЕ отключать; дать большой `max_tokens` (≥8000) |
| gpt-5-mini (reasoning) | reasoning ON, выжигал бюджет → пустой ответ | `reasoning_effort: "minimal"`; **без `temperature`**; `max_completion_tokens` вместо `max_tokens` |
| **gpt-5.4 (reasoning)** | ⚠ **`reasoning_effort:"medium"` РЕПРОДУЦИРУЕМО ОБРЕЗАЕТ ВЫВОД на длинной редактуре** (exp14b: reasoning съел бюджет → `content` 223 out-ток ≈ 602 симв из ~5000, `finish=stop` — выглядит как валидный короткий ответ, НЕ length-обрыв → тихо портит результат) | В роли РЕДАКТОРА/переводчика (длинный выход) слать **`reasoning_effort:"low"`** (exp14b: тот же чанк → 5137 симв, полный); `max_completion_tokens` (не `max_tokens`), без `temperature`. reasoning⊆completion (subset-биллинг). Слаг live-фактчек 2026-07-11: `gpt-5.4-2026-03-05`. *(Верифицировано span-читкой D38; self-review полигона поймал живьём.)* |
| **gpt-5.6-luna (reasoning)** | reasoning ON; **без явной ручки эффорта выжигает бюджет на рассуждение и отдаёт ПУСТОЙ `content`** (провод-факт эксп-21 §8) | слать явный `reasoning_effort` (`low` для перевода/редактуры); `max_completion_tokens`; пустой `content` при `finish=length` — оплаченный брак, гейтить приёмом ответа |
| **Kimi K2.6** | думающая, **очень многословная**: ~11k reasoning-токенов на абзац; reasoning в `reasoning_content`, ответ в `content`; при малом бюджете reasoning съедает лимит → `content` **пуст** (finish=length, не ошибка!) | дать `max_tokens` ≥16000; ответ из `content`. **Дорогой в роли редактора** — reasoning биллится как выход |
| **grok-4.3 (xAI)** | reasoning **ON по дефолту = `low`** (must-be-explicit: не задал → думает) | **Off-switch (Chat Completions) — ПЛОСКИЙ `reasoning_effort:"none"` в теле** (`reasoning_effort` ∈ {none,low,medium,high}). ⚠ **Вложенная форма `extra_body.reasoning.effort:"none"` — это Responses API; Chat Completions её МОЛЧА ГЛОТАЕТ** (остаётся дефолт `low`) — из-за этого exp08-проба ложно решила «не отключается». Проверено 05.07: `reasoning_effort:"none"``usage.reasoning_tokens=0`, дефолт→444, `low`→384 (на правке ~2000 ток.). reasoning у xAI **аддитивен к completion** (billed = completion+reasoning). `grok-4.20-0309-non-reasoning` = grok-4.3 + `effort:none` под капотом (ретайр 15.05.2026) → слаг не нужен, слать `none` явно. ⚠ **Для роли РЕДАКТОРА reasoning-off СНЯТ (D30.1): grok reasoning-off — no-op-редактор** (exp12 §2.2: активность 0.001, 3/6 чанков байт-идентичны черновику; exp04-ранг был на дефолт-reasoning + БИЛИНГВ). Если grok когда-либо вернётся в редакторы — только reasoning-ON (D6.2-буфер). Для роли ПЕРЕВОДЧИКА на плотном CJK reasoning-off НЕПРИГОДЕН (D19.1: эхо 4/10 + дегенеративный луп; ⚠ языковой констрейнт в system при `none` ИНВЕРТИРУЕТ эхо 3/10→9/10 — research/15 P4) — эскалация канала B идёт reasoning-ON. *(Сужено оркестратором по D19.1/D21; было «editor/translator».)* Источник: docs.x.ai/developers/model-capabilities/text/reasoning. |
| Qwen3.5 / локальные | thinking ON | ollama: `think: false` + `num_predict` cap. Иначе рассуждения (в поле `thinking`, не `response`) забивают контекст |
@ -120,7 +122,7 @@
## Контент-фильтры / safety
- **Gemini**: `safety_settings` через OpenAI-совместимый слой **не передаются** (HTTP 400 «Unknown name safety_settings»). Дефолт фильтров у 2.5/3 — OFF (gap-2). Для явного контроля фильтров (роль судьи 18+) нужен **нативный** Gemini API, не OpenAI-слой. ⚠ **D22.6: на ГРАФИЧНОЙ эротике Gemini 3.x fail-closed `PROHIBITED_CONTENT` (8× wire-verified, exp11) — фильтр НЕконфигурируем, нативный API не спасает; судья эротики — только Grok. На violence/SFW Gemini-судья жив.** `finish_reason` приходит СОСТАВНОЙ строкой `'content_filter: PROHIBITED_CONTENT'` (точные матчеры мертвы — D22.8а). Биллинг Gemini: thinking ТОЛЬКО в `total_tokens``reasoning: additive_total`, иначе недоучёт 146×/вызов (D22.3). ⚠ **В роли редактора Gemini течёт сервис-преамбулой в выход («Вот отредактированный…», 6/6 чанков — exp12) → за output-санитайзером D30.3.**
- **Gemini**: `safety_settings` через OpenAI-совместимый слой **не передаются** (HTTP 400 «Unknown name safety_settings»). Дефолт фильтров у 2.5/3 — OFF (gap-2). Для явного контроля фильтров (роль судьи 18+) нужен **нативный** Gemini API, не OpenAI-слой. ⚠ **D22.6: на ГРАФИЧНОЙ эротике Gemini 3.x fail-closed `PROHIBITED_CONTENT` (8× wire-verified, exp11) — фильтр НЕконфигурируем, нативный API не спасает; судья эротики — только Grok. На violence/SFW Gemini-судья жив.** `finish_reason` приходит СОСТАВНОЙ строкой `'content_filter: PROHIBITED_CONTENT'` (точные матчеры мертвы — D22.8а). Биллинг Gemini: thinking ТОЛЬКО в `total_tokens``reasoning: additive_total`, иначе недоучёт 146×/вызов (D22.3). ⚠ **В роли редактора Gemini течёт сервис-преамбулой в выход («Вот отредактированный…», 6/6 чанков — exp12) → за output-санитайзером D30.3.****Дополнение эксп-21 (08.08):** fail-closed ответ OpenAI-слоя приходит вовсе БЕЗ объекта `message` (не с пустым `content`) — парсер обязан переживать его отсутствие; на вебновелльном violence-материале срабатывания массовые (10 клеток судейского прогона с `content_filter: PROHIBITED_CONTENT`) ⇒ оговорка «на violence/SFW Gemini-судья жив» целиком НЕ держится — Gemini непригоден как ЕДИНСТВЕННЫЙ второй контур на этом материале (эксп-21 §1/§8).
- **Qwen Model Studio**: внешний фильтр `data_inspection_failed` на вход/выход, неотключаем (риск молчаливых вырезаний) — не тестировано (нет ключа).
- Детект отказов/вырезаний — см. `eval/refusal_bench.py` (паттерны soft-отказа + coverage-гейт по len_ratio/sent_cov, пороги в эксп. 02).

View file

@ -1,6 +1,6 @@
# Эксперименты полигона — карта
Один эксперимент = один отчёт `NN-*.md` (методика + цифры + честные ограничения). Здесь — **индекс**: что установил → чем ратифицирован → статус. Каждая строка сверена по шапке самого дока + D-логу (**досведено 25.07, голова D39.28**: добавлены exp15/exp16; **ре-сверка 01.08, голова D39.64**: новых экспериментов нет, `00-provider-quirks` синхронизирован с катовером DeepSeek-0731 по D39.61; **ре-сверка 04.08, голова D39.105** — новых экспериментов карты нет, банк-арбитраж = research/24, выдан промт пробы 18, см. хвост карты). Карта **скриптов** (какой `.py` какому эксперименту) — в [`eval/README.md`](../../eval/README.md) §Карта; здесь — про **выводы**.
Один эксперимент = один отчёт `NN-*.md` (методика + цифры + честные ограничения). Здесь — **индекс**: что установил → чем ратифицирован → статус. Каждая строка сверена по шапке самого дока + D-логу (**досведено 25.07, голова D39.28**: добавлены exp15/exp16; **ре-сверка 01.08, голова D39.64**: новых экспериментов нет, `00-provider-quirks` синхронизирован с катовером DeepSeek-0731 по D39.61; **ре-сверка 04.08, голова D39.105** — новых экспериментов карты нет, банк-арбитраж = research/24, выдан промт пробы 18, см. хвост карты; **досведено 08.08, голова D39.117** — добавлены строки 1821, следующий — эксп-22). Карта **скриптов** (какой `.py` какому эксперименту) — в [`eval/README.md`](../../eval/README.md) §Карта; здесь — про **выводы**.
**Легенда статуса:** ⭐ЖИВОЙ-reference (читать при работе) · ЖИВОЙ (открытый инструмент/протокол) · закрыт (есть review-header/⚠-баннер; вывод ратифицирован, тело не редактируем — D23.3) · settled (одноразовый бенч, вопрос закрыт).
@ -32,6 +32,10 @@
| [`14b-meaning-battery`](14b-meaning-battery.md) | «Только gpt-5.4 чинит смысл» **ОПРОВЕРГНУТО** (mistral/deepseek-pro чинят инверсии, glm/grok валят); фронтир-в-дефолт не нужен; корень терм-дрейфа = **status:draft** сида. | → D38/D38.1 (review-header) | закрыт |
| [`15-segmentation-empirics`](15-segmentation-empirics.md) | Сегментация/когезия/контракт t-e (пре-рег `research/19` §D). REV.2: клейм «граница вредит» **ОТОЗВАН** (артефакт окна судьи); все когезия-эффекты **под floor 0.126**; «sequential нигде не лучше» LOO-stable (отсутствие сигнала, НЕ зелёный свет); фертильность 1.20/0.39; $12.79/$15. Побочно — **риг-стандарт D39.7** (per-vote, полно-evidence, floor-гейт). | → D39.7; гейт = слепое чтение владельца → **D39.8** (планку не прошёл никто, floor-null подтверждён) | закрыт |
| [`16-bank-mining`](16-bank-mining.md) | Банк-майнинг W1.5 (пре-рег `research/20` §D): **WHICH подтверждена** (детектор V-C, recall 0.97, $0), **WHAT** уходит в банкноту+Палладий (canon-recovery <70%), 9B-споттер не нужен, Z1 облако; $0-ре-аудит exp14b **чист** (errata не потребовалась). Этим исследовательская программа полигона ЗАВЕРШЕНА. | D39.10; gender-тачпойнт §7 закрыт **D39.19**; продолжение Go-майнер, парити **EXACT** (D39.14/D39.16) | закрыт |
| [`18-editor-wire-probe`](18-editor-wire-probe.md) | Доктрина D39.104 на боевом проводе (байт-сверка): закон-блок исполняется 21/21, неверная строка банка принимается 6/6 — инъекция несёт защиту, редактор ошибок банка не ловит; оговорка ОБЛАСТИ опровергнута; фронтир терминолога не оправдан (конвенция = данные). Ревью-шапка приёмки первична над телом | D39.108 | закрыт |
| [`19-editor-contract-q4b`](19-editor-contract-q4b.md) | Дифф-контракт механически исправен (комплаенс 0.966 на боевой единице, малформед 0), но гейт Q4b: диффы ОТЛОЖЕНЫ — fidelity-trap 11/12, цена ×2.52.9 на dspro×ru (свойство пары, не класса). Ревью-шапка первична | D39.108; D21.4/D21.10 закрыты | закрыт |
| [`20-editor-role`](20-editor-role.md) | Роль редактора: починка по флагу дёшева при ИДЕАЛЬНОЙ детекции; поиск дороже правки; решающий замер §5.2 не персистирован («со слов» — позже опровергнут эксп-21). Exploratory, без пре-рег-фриза; ревью-шапка первична | D39.108; §5.2 superseded D39.117 п.4 | закрыт |
| [`21-role-topology`](21-role-topology.md) | **Топология бьёт жильца** (нога 2×2; `A/F3` +2.50 Holm 0.0004, движки dspro/glm-5 неразличимы) · черновик двигает ~70% эффекта финала · закон-блок обязателен (два независимых подтверждения) · точечный ремонт/обратная связка/роутинг — отклонены · разложение шума НЕ установлено. ⚠ Все zh-величины предварительны (материал узнан 4/5); пять редакций, судейство финала — агенты ($0) | **D39.117** (гейты: `verify_report.py` 90/90 · `itog.py`) | закрыт |
*Пропуски нумерации:* `05` снят до прогона (вопрос закрыт литературой — урок «тест только если исход переворачивает решение», eval/README §Правила-3).
@ -43,4 +47,4 @@
Дуга 12→14b проверяла **модели**; следующая пара проверяла **инфру**, на которую дуга указала. [`15`](15-segmentation-empirics.md) закрыл нарезку/когезию (все эффекты под floor — оптимизировать там нечего, зато родился риг-стандарт D39.7), [`16`](16-bank-mining.md) закрыл банк-майнинг (WHICH работает, WHAT уходит в банкноту) — и на этом **исследовательская программа полигона завершена** (D39.10). Дальше был не эксперимент, а **пере-прогон прод-путём** (rerun2, D39.20/D39.22): планка «≤2 претензии» **не пройдена**, пилот не открыт, `mistral` исключён как несущий редактор (анти-корреляция гладкость↔верность ×3), редактор = **deepseek-v4-pro ИНТЕРИМ**, dspro-vs-glm не ратифицирован (зазор ≈ шум) → **итерация №2 отложена** довеском к следующему платному прогону. Отчёта `17-*.md` нет и не будет: пере-прогон — не эксперимент полигона, его запись живёт в D-логе и `PROGRESS.md`.
**Дальше (04.08):** банк-арбитраж прошёл НЕ этой картой — отчёт `../research/24-bank-arbitration.md` + харнесс `eval/bank_arbitration/` (принят D39.102: консилиум · кросс-модельные веса · self-consistency · селекция · отказ-сигнал — закрыты классом). Следующий отчёт карты — **`18-editor-wire-probe.md`**: проба редакторского провода под доктриной инжекта (санкция D39.103, промт `docs/POLYGON_EDITOR_WIRE_PROBE_SESSION_PROMPT.md`).
**Дальше (04.08):** банк-арбитраж прошёл НЕ этой картой — отчёт `../research/24-bank-arbitration.md` + харнесс `eval/bank_arbitration/` (принят D39.102: консилиум · кросс-модельные веса · self-consistency · селекция · отказ-сигнал — закрыты классом). Дуга 18→21 (0408.08) закрыла вопрос редактора: топология «черновик → переписыватель» подтверждена, жильцы ролей — вопрос конфига и цены (строки таблицы выше; приёмки D39.108/D39.117). Следующий отчёт карты — **`22-tenant-panel.md`**: панель жильцов обеих ролей (промт `docs/POLYGON_TENANT_PANEL_SESSION_PROMPT.md`, санкция D39.117).