21 KiB
18. Редакторский провод под доктриной закона (D39.104) + фронтир-пасс по голду
Полигон-сессия 04.08.2026. Исполнение docs/POLYGON_EDITOR_WIRE_PROBE_SESSION_PROMPT.md
(оркестратор №13, санкции владельца D39.103/104). Зона: eval/bank_arbitration/ + этот файл + пинг
в PROGRESS «Полигон». Сырьё durable ~/books/gu-zhenren/bank-arbitration/, префикс edp-*.
Не закоммичено, кроме пре-рег-фриза (CLAUDE.md, единственное исключение полигона).
Потолки: проба A ≤ $0.30, проба C ≤ $0.50.
§0. ПРЕ-РЕГИСТРАЦИЯ (записано ДО первого платного вызова этой сессии; норма D39.46/D39.61)
Дата фиксации: 2026-08-04, до любых платных вызовов. Всё ниже — фриз; расхождение исполнения с этим текстом печатается как девиация с обоснованием.
0.1 Провод пробы A (byte-faithful edit-стадии pipeline-c1.yaml)
| Поле | Значение | Провенанс |
|---|---|---|
| модель | deepseek-v4-pro |
pipeline-c1.yaml stages[edit].model (ИНТЕРИМ D39.22) |
| промпт | backend/prompts/zh-ru/editor.md, блок ---FEWSHOT--- ДРОПНУТ |
stages[edit].few_shot: false |
| temperature | 0.4 (шлётся; thinking-режим её молча игнорирует — quirks 00) |
stages[edit].temperature |
| reasoning | параметр НЕ шлётся вовсе ⇒ вендор-дефолт high |
deepseek = ReasoningNone (llm/capability.go:177-180), stages[edit].reasoning:"off" ⇒ ключа на проводе нет; quirks 00 §3а |
| max_tokens | 16000 |
models.yaml:166 capabilities.min_max_tokens (флор v4-pro) |
| раскладка | system(editor.md core) → system(банк-блок) → user(text+draft) |
render.go MessagesWithInjection |
| формат строк блока | - src → «dst» |
membank/memory.go:815 editorLines |
Байт-сверка провода — исполнением, ДО платных вызовов. Overlay-тест (go test -overlay, файлы
живут в скрэтчпаде, в backend/ не пишутся) прогнал РЕАЛЬНЫЕ LoadPromptTemplate+SystemFor(false)+
MessagesWithInjection и RenderEditorConstraintBlock на окне w3 и напечатал sha256 каждого
сообщения. Совпадение с Python-харнессом побайтное:
Go WPMSG 0 role=system sha=cef8aba86410f996ab4624f6839f2acbf98a31ededa6a12a8070c03abb739645
Py PYMSG 0 role=system sha=cef8aba86410f996ab4624f6839f2acbf98a31ededa6a12a8070c03abb739645
Go WPMSG 1 role=system sha=775604eddb3346c0b566ff01d0affd7b222d00fd37684afa9104639ae83e107d
Py PYMSG 1 role=system sha=775604eddb3346c0b566ff01d0affd7b222d00fd37684afa9104639ae83e107d
Go WPMSG 2 role=user sha=547d516465c885890438b4e001c8d6d6a7c48641ce28701b6b6385bad66940fa
Py PYMSG 2 role=user sha=547d516465c885890438b4e001c8d6d6a7c48641ce28701b6b6385bad66940fa
Go WPBLOCK sha=775604eddb3346c0b566ff01d0affd7b222d00fd37684afa9104639ae83e107d (RenderEditorConstraintBlock, текущий editor_header)
Сверялся блок с ДЕЙСТВУЮЩИМ editor_header; кандидат-заголовок §B отличается от него ровно
вставкой оговорки (ниже дословно), строки блока не трогает.
0.2 Окна и черновики
Те же 6 окон источника, что inject_probe.py (pick_windows(), детерминирован, coldrun-a только
чтение): w0@para534 · w1@para709 · w2@para488 · w3@para372 · w4@para101 · w5@para274.
Черновики — арм B того же сырья (inj-w{k}-B.json, транслятор под ВЕРНЫМ законом, $0, уже
персистированы, все finish=stop): канон-конформный черновик = сильнейший тест вытеснения.
0.3 Заголовки (кандидат-редакции §B промта; в движок НЕ вносятся)
База — действующий editor_header (backend/internal/lang/data/injection.txt строка 7), дословно.
Единый закон-блок с оговоркой области (армы A1, A2, AM-clause):
КАНОНИЧЕСКИЕ ПЕРЕВОДЫ имён и терминов (в черновике термин исходника слева ДОЛЖЕН быть передан именно указанной формой справа — приводи к ней любые расхождения, склоняя по контексту; не вводи иных вариантов и не меняй ничего другого; глоссарий обязателен для употреблений термина КАК термина: игру слов, разбор знаков, буквальное прочтение передавай по смыслу пассажа, сохраняя узнаваемость канонической формы):
Закон БЕЗ оговорки (арм AM-noclause) = действующий editor_header без единой правки:
КАНОНИЧЕСКИЕ ПЕРЕВОДЫ имён и терминов (в черновике термин исходника слева ДОЛЖЕН быть передан именно указанной формой справа — приводи к ней любые расхождения, склоняя по контексту; не вводи иных вариантов и не меняй ничего другого):
Секция editor_unverified_header НЕ рендерится (двухсекционка сворачивается в одну — §B промта);
маркер ⟨проверить⟩ на проводе НЕ рендерится (поведенчески пуст, research/24 §C).
0.4 Армы (26 платных вызовов v4-pro + 1 транслятор-вызов на черновик AM)
| Арм | Вызовов | Блок | Что мерит |
|---|---|---|---|
| A0 | 6 | нет | изолированный контроль (его не было НИКОГДА) |
| A1 | 6 | закон+оговорка, все строки ВЕРНЫЕ | исполнение закона на редакторе |
| A2 | 6 | закон+оговорка, строка 元海 → «Юаньхай» НЕВЕРНАЯ |
цена неверного закона + межоконная консистентность |
| AM | 2 | закон+оговорка / закон без оговорки | работает ли оговорка области и не течёт ли |
| A5 | 6 | нет | чинит ли редактор дефекты черновика |
Девиация от дизайна §C (обоснованная): research/24 §C РОТИРОВАЛ неверный терм по окнам. Здесь
неверная строка ОДНА И ТА ЖЕ во всех 6 окнах — 元海, единственный терм, присутствующий во всех
шести окнах (пересечение множеств термов = {元海}) и отрендеренный верной формой во всех шести
черновиках. Без этого метрика «судьба ОДНОЙ строки одинакова во всех 6 окнах» (§A промта)
неизмерима. Инъецируемая неверная форма — Юаньхай (реестр TERMS inject_probe.py).
AM — метаязыковое окно, НАТУРАЛЬНОЕ (не синтетика): параграфы 517–521 источника — выбор
本命蛊 в шкафу гу. Несёт (а) 蛊名月光 — имя названо КАК ИМЯ («имя гу — Лунный свет»), при том что
канон-форма 月光蛊 → «Гу лунного света»; (б) 弯弯如月 — буквальное «изогнут, как месяц»;
(в) обычные терминные употребления 月光蛊 в тех же 5 строках. Блок окна содержит ровно те термы
реестра, что встречаются в окне.
Черновик AM: 1 вызов транслятором проводом арма B (deepseek-v4-flash, reasoning_effort:"low",
temp 0, ВЕРНЫЙ блок), тег edp-AMdraft. Правило ветвления, фиксируется ЗДЕСЬ: если черновик
передаёт 蛊名月光 ПО СМЫСЛУ (не приклеивает канон-форму к слову «имя») — идёт как есть; если
канонизировал — сажаю смысловой вариант «Имя этому гу — Лунный свет» и объявляю посадку в отчёте
(файл edp-AMdraft-planted.txt), результат помечается как посаженный.
0.5 A5 — посаженные дефекты черновика (дословный список)
По одному дефекту каждого класса в каждое из 6 окон, итого 6+6. Арм без банк-блока. к1 = слово-абракадабра (несуществующее слово); к2 = смысловое искажение против ОРИГИНАЛА.
| Окно | Класс | Было в черновике | Стало (посадка) | Против чего в исходнике |
|---|---|---|---|---|
| w0 | к1 | также поразительна |
также взгрумительна |
— |
| w0 | к2 | они не выдержат такого непрерывного расхода |
они легко выдержат такой непрерывный расход |
再多的元石也经不起…消耗 |
| w1 | к1 | сокровище природы |
мреязное сокровище природы |
— |
| w1 | к2 | на глазах неуклонно поднимался |
на глазах неуклонно опускался |
元海水位…不断攀升 |
| w2 | к1 | словно натянутая струна |
словно натянутая струмель |
— |
| w2 | к2 | Увы, тот так и не показался |
Увы, тот в первую же ночь и показался |
可惜,就是不见那酒虫 |
| w3 | к1 | но при этом необычайно густой |
но при этом необычайно гущавой |
— |
| w3 | к2 | Фан Юань, не оборачиваясь, развернулся и пошёл обратно |
Фан Юань обернулся и остался стоять на месте |
方源直接转身往回走 |
| w4 | к1 | волна дерзновенной отваги |
волна дерзновяжной отваги |
— |
| w4 | к2 | была вполне приемлемой платой |
была совершенно недопустимой утратой |
春秋蝉的损失完全可以接受 |
| w5 | к1 | оттенок суровой удали |
оттенок суровяглой удали |
— |
| w5 | к2 | он наконец не смог идти дальше |
он зашагал ещё быстрее |
一直走到三十六步,终于走不动了 |
Скоринг A5: regex-предпроход («дефект ещё в выходе» / «смысл восстановлен») + обязательная глазная сверка каждой из 12 единиц; при расхождении авторитет — глаз, regex печатается рядом.
0.6 Скоринг A0/A1/A2 и развязка regex-конфаунда
Метод — тот же regex-скорер, что inject_probe.py --score (нормализация NFKC · casefold · ё→е ·
схлоп пробелов). Найденный и развязанный конфаунд (проверка потребована промтом на классе
元海/真元): голд-rx 真元 = истинн\w* ци матчится ВНУТРИ верной формы 元海 = «море истинной ци».
Развязка: перед поиском 真元 из нормализованного выхода вырезаются все вхождения голд-формы 元海.
Ре-ран research/24 §C по персистированному сырью ОБОИМИ методами — числа §C не двигаются
(см. §A.0 ниже); конфаунд задевает 2 клетки (w1 армы C/D), и обе лежат в колонке НЕВЕРНОГО терма,
которая в знаменатель «верных строк» не входит.
Знаменатели: «верные строки» = все термы блока кроме 元海 = 21 клетка (6+6+5+4+3+3 = 27 минус 6).
0.7 Критерии (успех/провал, зафиксированы ДО запуска)
- «Закон исполняется» — A1 ≥ 5/6 окон, где ВСЕ верные строки окна пришли канонической формой. Печатается также поклеточно (x/21) для сравнимости с §C.
- «Цена ошибки» — A2: принятие неверной формы и вытеснение верной печатаются ЧИСЛОМ без порога (это цена, не экзамен).
- «Консистентность держится» — единогласие ≥ 5/6 однонаправленных решений по строке
元海в A2 (все 6 окон приняли ЛИБО все 6 отвергли). - «Оговорка работает» — метаязыковый пассаж передан ПО СМЫСЛУ при законе+оговорке И сломан (канон-форма приклеена) при законе-без-оговорки.
- «Оговорка ТЕЧЁТ» — ≥ 2/6 окон A1/A2 с отклонением от закона по ВЕРНЫМ строкам ⇒ формулировку сузить и пере-гнать ТОТ арм, где leakage зафиксирован (в потолке).
- A5 — «X из Y» по каждому классу, порога НЕТ (первый замер класса).
- Средние исходы (ровно 4/6 и т.п.) — «неопределённо на N=6», печатаются, не абсорбируются.
0.8 Смета пробы A (напечатана ДО первого платного вызова)
Калибровка токенизатора: cl100k → фактические prompt_tokens DeepSeek ×0.612 (по 6 вызовам
сырья §C, разброс 0.597–0.622). Вход всех 26 вызовов ≈ 52 602 ток. → $0.0229.
Выход: нижняя оценка (только содержательный текст) 23 400 ток. → $0.0432; ожидаемая
104 000 ток. → $0.1134; абсолютный потолок (ВСЕ 26 вызовов упираются в 16 000) 416 000 ток. →
$0.3848. Ожидаемая смета $0.11–0.14 < потолка $0.30. Абсолютный потолок выше $0.30 достижим
только при 26/26 упоров в cap, поэтому в харнесс вшит живой стоп $0.28, проверяемый ПЕРЕД
каждым вызовом ⇒ потолок непробиваем механизмом, а не дисциплиной. Плюс 1 транслятор-вызов на
черновик AM ≈ $0.002.
§0C. ПРЕ-РЕГИСТРАЦИЯ ПРОБЫ C (фронтир-пасс по голду; потолок $0.50, «go» владельца D39.103 п.3)
Слаги — live /models 04.08.2026, не со слуха. Владелец назвал «терра»/«луна»; в листинге
OpenAI (124 слага) присутствуют ровно gpt-5.6-terra и gpt-5.6-luna (плюс gpt-5.6-sol, которого
владелец НЕ называл — в пробу не берётся). Опознание однозначное, СТОП+релей не требуется.
DeepSeek-листинг: deepseek-v4-flash, deepseek-v4-pro — прежние два.
Цены — ТОЛЬКО прайс-страница вендора developers.openai.com/api/docs/pricing (снято 04.08.2026),
за 1M токенов, короткий контекст / длинный контекст:
| Слаг | in | cached in | out | (long) in | cached | out |
|---|---|---|---|---|---|---|
gpt-5.6-terra |
$2.00 | $0.20 | $12.00 | $4.00 | $0.40 | $18.00 |
gpt-5.6-luna |
$0.20 | $0.02 | $1.20 | $0.40 | $0.04 | $1.80 |
gpt-5.6-sol (не в пробе) |
$5.00 | $0.50 | $30.00 | $10.00 | $1.00 | $45.00 |
deepseek-v4-pro |
$0.435 | $0.003625 | $0.87 | — | — | — |
(v4-pro — models.yaml, prices_checked 2026-07-10, подтверждено quirks 00 «цены пост-катовера не
изменились».) Батчи ростера ≈4.5k ток. ⇒ применяется КОРОТКИЙ контекст-тир.
Протокол — тот же, что research/24 §B3: consilium_probe.py-ростер (45 голд-термов в банке +
18 экстра-поверхностей = 63 строки), 5 батчей, engine-faithful RenderBatch, боевой
terminologist.md, добавка CONF_NUM (как у пасса glm1, иначе несравнимо), temp 0 где применимо.
Чемпион для сравнения — glm1 = 25/45 (пере-считано из сырья: ds1 20 · ds2 20 · ds3 21 ·
dsw 18 · glm1 25 · mis1 23 · gro1 12).
Wire-квирк, который НЕ гадаю (правило двух направлений, quirks 00 шапка): вендор-дока GPT-5.6
описывает reasoning.mode + reasoning.effort (none…max) для Responses API; поддержка плоского
reasoning_effort в Chat Completions в доке не заявлена, а прецедент exp08 (xAI) — вложенная форма в
Chat Completions МОЛЧА ГЛОТАЕТСЯ. Поэтому ДО основных вызовов идёт микро-wire-проба (≈$0.002):
на каждом слаге по 2 крошечных вызова с эффортами none и high; ручка считается ЖИВОЙ, только если
reasoning_tokens между ними различаются. Транспорт основного прогона выбирается по её результату
(Chat Completions при живой ручке; иначе Responses API), выбор печатается в отчёт.
Прочее по квиркам: max_completion_tokens вместо max_tokens, temperature не слать.
Эффорт основного прогона: low для terra/luna (дешёвый тир, зеркало ds1); для deepseek-v4-pro
reasoning-параметр НЕ шлётся (low на pro маппится в high — ручки бюджета у pro нет, quirks 00 §3а).
Смета C: вход ≈19k ток. на пасс. v4-pro: $0.008 вход + выход (высокий эффорт, оценка 30k ток.) $0.026 ≈ $0.034. luna: $0.004 + $0.048 ≈ $0.05. terra: $0.038 + (оценка 8k ток.) $0.096 ≈ $0.13. Итого ожидаемо ≈$0.22 при потолке $0.50; живой стоп харнесса $0.45.
Критерий (фриз): «фронтир оправдан для роли» — парное преимущество кандидата над glm1
(термы «кандидат прав ∧ glm1 неправ» минус обратные) ≥ +5 на 45 голд-термах И названа
цена/книга по методике research/24 §B5. Меньше +5 — «не оправдан» (легитимный исход).
Data-sharing на ключе OpenAI отключён — слово владельца, D39.103 п.3 (со слов промта оркестратора; сессия это не верифицировала).
§A. Проба A — результаты
(заполняется после прогона)
§C. Проба C — результаты
(заполняется после прогона)