From 9e33a1ba4616821bf32ed1acf1be7187f73471ff Mon Sep 17 00:00:00 2001 From: heaven Date: Sat, 22 Aug 2026 22:49:13 +0300 Subject: [PATCH] Land the panel-0 result: the buffer is measured by two independent instruments, and the cash-box reconciliation debt closes with a negative answer --- docs/experiments/23-editor-tier.md | 218 ++++++++++++++++++++++++++++- 1 file changed, 215 insertions(+), 3 deletions(-) diff --git a/docs/experiments/23-editor-tier.md b/docs/experiments/23-editor-tier.md index 06ac8c44..2d6c4f67 100644 --- a/docs/experiments/23-editor-tier.md +++ b/docs/experiments/23-editor-tier.md @@ -4320,9 +4320,12 @@ RG 0/5», записанный в план 22.08, снят этим ригом «ошибается» — ему нечем узнать. Узнать может ТОЛЬКО книжная память: тот же голос (Селена) ведёт ещё три окна нашей выборки, и там пол устанавливается прямо. То же у Габриэля: 3 окна из 4. -⛔ **А в банке полей пола НЕТ.** `bank-en.json` несёт имена и канонные формы — «Рейн», «Селена», -«Диор» — и ни одного поля рода; это видно на распечатке промта `E6` (Д32.6 п.3). То есть -механизм, который единственный мог бы закрыть эти 25% глав, в наших прогонах **не существовал**. +⛔ **А в банке полей пола НЕТ, и это проверено файлом, а не пересказано.** `~/books/role-topology/ +bank-en.json`: 25 терминов, у каждого РОВНО четыре поля — `dst` (канонная форма), `rx` (регекс +поиска), `manual`, `why`. Строк `gender`/`род`/`пол`/`sex`/`female`/`male` в файле нет ни одной. +Имена там есть — «Рейн», «Селена», «Диор», «Габриэль» — и приезжают к модели строкой, без указания, +он это или она (видно на распечатке промта `E6`, Д32.6 п.3). То есть механизм, который единственный +мог бы закрыть эти 25% глав, в наших прогонах **не существовал**. ⇒ Это первое ПРЯМОЕ и бесплатное подтверждение тезиса Шага 7 плана: «решение „банк чинит пол“ не имеет ни одного замера», и «пол плывёт у всех» его не опровергает — механизма просто не было. @@ -4330,3 +4333,212 @@ RG 0/5», записанный в план 22.08, снят этим ригом ⚠ Оценка 2 из 8 снята на маленькой выборке: интервал Уилсона [0.07; 0.59]. Число — порядок величины, не константа. + +### Д32.11 ⛔⛔ ДОЛГ В21 «СВЕРКА КАССЫ ДВУМЯ ПУТЯМИ» — ИСПОЛНЕН, РЕЗУЛЬТАТ ОТРИЦАТЕЛЬНЫЙ + +Долг стоял с 17.08 и в план 22.08 попал отдельной строкой («после компакта о нём не вспомнит +никто»). Закрываю его — и закрываю не тем, чего ждали. + +**Попытка первая дала Δ = 0.000000 на всех четырнадцати фазах.** Красиво и бессмысленно: +`buy.Ledger.spent()` (`eval/role_topology/buy.py:40-52`) САМ обходит клетки глобом фазы и +складывает их поле `cost_usd`. Отдельного леджера в природе нет — **касса и есть файлы клеток**. +То есть «второй путь» читал ровно то же, что первый, и Δ=0 было тавтологией. Ровно это и говорило +ревью (В21), и первая попытка воспроизвела ошибку буквально. + +**Путь второй, идущий МИМО поля `cost_usd`:** пере-счёт цены каждой клетки ИЗ ЗАМЕРЕННЫХ ТОКЕНОВ +по текущему прайсу ростера. 1171 клетка, $17.037 записано против $30.124 пере-считанного: + +| модель | записано | из токенов по текущему пину | отношение | клеток | расходятся | +|---|---|---|---|---|---| +| `deepseek-v4-pro` | 12.777 | 25.609 | **0.499** | 688 | 497 | +| `deepseek-v4-flash` | 0.0745 | 0.3301 | **0.226** | 81 | 77 | +| `gemini-3.1-pro-preview` | 2.283 | 2.283 | **1.000** | 15 | 0 | +| `glm-5` | 1.245 | 1.245 | **1.000** | 68 | 0 | +| `grok-4.3` | 0.355 | 0.355 | **1.000** | 37 | 0 | +| `gemini-3.1-flash-lite` | 0.258 | 0.258 | **1.000** | 74 | 0 | +| `gpt-5.6-luna` | 0.043 | 0.043 | **1.000** | 19 | 0 | +| **ИТОГО** | **17.037** | **30.124** | **0.566** | 1171 | 574 | + +⭐ **Хорошая новость и она безусловна: у ЧЕТЫРЁХ вендоров из шести арифметика кассы сходится +до последнего знака на 213 клетках.** Записанная цена ровно соответствует записанным токенам. + +**Расхождение — только у DeepSeek, и оно разложено по причинам** (момент покупки в клетке не +хранится, взят `mtime` файла — прокси, и это названо): + +| модель | период | записано | по текущему пику | отношение | клеток | +|---|---|---|---|---|---| +| `deepseek-v4-flash` | до пере-пина 16.08 | 0.029 | 0.130 | 0.223 | 43 | +| `deepseek-v4-flash` | после, офф-пик | 0.046 | 0.200 | 0.228 | 38 | +| `deepseek-v4-pro` | до пере-пина 16.08 | 3.635 | 15.915 | 0.228 | 477 | +| `deepseek-v4-pro` | после, офф-пик | 9.143 | 9.694 | **0.943** | 211 | + +⛔⛔ **И ВОТ ЧТО ЭТО ОКАЗАЛОСЬ НА САМОМ ДЕЛЕ. `cost_usd` НЕ ЯВЛЯЕТСЯ СЧЁТОМ ОТ ВЕНДОРА.** Он +ВЫЧИСЛЯЕТСЯ нашим же `roster.cost` из наших же токенов в момент покупки (`buy.py:93-95`, +`priced()`). Значит: + +1. **Касса — это МОДЕЛЬ расхода, а не бухгалтерия.** «Потрачено $17.04» читается как «$17.04 по + НАШЕЙ таблице цен на момент покупки». Живого вендорского числа на диске нет НИ ОДНОГО. +2. Отношение 0.228 у до-пиновых клеток измеряет не скидку, а то, что **пин сменился между покупкой + и сегодняшним днём** (июльский против пикового: flash ×3.1 вход / ×4.7 выход, pro ×3.0 / ×4.6). +3. **Ожидаемого «офф-пик ровно ½» в записанных ценах НЕТ.** У `deepseek-v4-pro`, купленного после + пере-пина в офф-пиковые часы, отношение **0.943**, а не 0.5 — и иначе быть не могло, раз цену + считает наш же ростер пиковым пином. Остаток 5.7% не объяснён (вероятнее всего — шум прокси + `mtime`: карантинные переименования двигают время файла). +4. ⇒ **Утверждение блокера Б11 «забукировано $8.98, реально списано ~$4.49» — это ВЫВОД ИЗ ПРАВИЛА + „офф-пик = ½“, а не замер.** Диск его не подтверждает и не опровергает: подтверждать нечем. + Само ревью честно отнесло живые прайс-страницы и биллинг-консоли к тому, чего оно не смотрело. + +**⇒ ДИСПОЗИЦИЯ ДОЛГА В21: работа сделана, но СВЕРКА НА ДИСКЕ НЕВОЗМОЖНА, и теперь это +доказано, а не заявлено.** Оба +доступных пути упираются в одну функцию `roster.cost`; настоящий второй путь — биллинг-консоль +вендора, и она вне досягаемости полигона. **Вопрос владельцу, а не решение сессии:** сверить +$17.04 с реальным счётом DeepSeek может только он. Порядок величины расхождения назван: если +правило «офф-пик = ½» верно, реальный счёт DeepSeek ниже записанного примерно вдвое на после-пиновых +покупках, то есть общий факт лежит между **$12.5 и $17.0**. + +⚠ И побочно: **клеток, не покрытых ни одним глобом фазы, НОЛЬ** (1171 из 1171), инвариант «сумма +фазовых потолков ≤ пакетного» держится (18.27 ≤ 18.30), клеток с нулевой ценой при непустых +токенах — НОЛЬ. Расхода, невидимого кассе, на диске нет. + +### Д32.12 СЛЕПОЕ ЧТЕНИЕ ПАНЕЛИ-0 (вторичный эндпойнт — и он ВНЕЗАПНО РАЗРЕШИЛСЯ) + +16 глав, по ОДНОМУ читателю на главу (сессии #99–#114 журнала `runs.py`, заняты ДО запуска и +закрыты после; 114 из 200). Пакет читателю называет только тексты: ни арма, ни вендора, ни вердикта +другого прибора, ни существования контроля. `--verify-read` до чтения: **64 текста сверено побайтно +с клетками, провалов 0, побайтно совпадающих армов нет, EXIT=0.** + +| арм | среднее место | места по главам | +|---|---|---| +| `ZF` | **1.94** | 2 1 3 3 1 2 3 1 1 1 2 1 2 3 3 2 | +| `Z0` | **2.31** | 1 3 4 2 3 1 4 4 2 2 3 2 3 1 1 1 | +| `E6` | **2.31** | 3 2 2 4 2 3 1 2 3 3 1 3 1 2 2 3 | +| `RG` | **3.44** | 4 4 1 1 4 4 2 3 4 4 4 4 4 4 4 4 | + +**Контроли.** Пол `|Z0−ZF|` = 1.38 места из 4 · парный разрыв близнецов +0.38 при пороге 1.02 — +НЕразличимы, как и обязаны. Грубого декоя в панели нет (состав задан пре-регом), поэтому разрешение +держится только на близнецах — и это записано в паспорте. + +**Парные контрасты, якорь `E6`:** + +| контраст | разрыв | порог | вердикт | знаковый p | +|---|---|---|---|---| +| `E6 ↔ Z0` | **+0.00** места | 1.21 | в пределах | 0.8036 | +| `E6 ↔ ZF` | −0.38 | 0.89 | в пределах | 0.4545 | +| `E6 ↔ RG` | **+1.12** | 0.99 | **РАЗЛИЧИМ** | **0.0042** | + +⭐ **`E6 ↔ RG` проходит КОНЪЮНКЦИЮ** (порог И знаковый p<0.05) — единственное правило, которым фаза +меряет вендоров. `E6 ↔ Z0` даёт РОВНО НОЛЬ разницы средних мест. + +⚠⚠ **И это надо сказать прямо: ранговый эндпойнт был объявлен ОПИСАТЕЛЬНЫМ ЗАРАНЕЕ (Д32.4), а +разрешился.** Априорная оценка «MDE≈2 места» экстраполирована с панели в 10–11 армов; здесь армов +ЧЕТЫРЕ, шкала короче, наблюдённый порог вышел 0.89–1.21 вместо 2.26–4.20. Ошибка в безопасную +сторону: заранее объявить прибор слепым и получить зрячий — это не подгонка. **Но ярлык остаётся +таким, каким объявлен**, и вывод печатается с оговоркой: панель мерила ЧЕТЫРЕ арма, и на панели из +одиннадцати тот же контраст мог бы не разрешиться. + +⚠ **Родство трёх армов из четырёх — конфаундер, названный в паспорте.** `Z0`, `ZF` и `E6` растут из +ОДНОГО черновика и идут по побайтно одному промту; `RG` — единственный, кто черновика не видел. +Читатель, текстуально опознавший трёх близнецов, мог отсортировать «чужого» отдельно. Пол +`|Z0−ZF|`=1.38 из 4 мест — оценка этого эффекта СНИЗУ, не сверху. + +**КЛАСС Б — «читается откровенно машинным», доля глав из 16:** `RG` **8/16** · `ZF` 4/16 · +`Z0` 3/16 · `E6` 3/16. Парный знаковый: `E6−RG` p=0.2266, `Z0−RG` p=0.1797, `Z0−E6` p=1.0000 +(0 разницы). Направление у всех контрастов одно, значимости нет ни у одного. +⚠ **Эта величина НЕ ГОДИТСЯ для нормы класса Б** («≤1 глава на 25 глав Гу»): читателя просят +назвать худших ВНУТРИ панели, то есть метка СРАВНИТЕЛЬНАЯ, а норма абсолютная. Долг Шага 5.1 +(«пере-снять базу, объявив формулировку вопроса») этим не закрыт — он этим УТОЧНЁН: абсолютную +базу нельзя снять инструментом, который ранжирует. + +### Д32.13 ⭐⭐ ДВА НЕЗАВИСИМЫХ ПРИБОРА СОШЛИСЬ НА КАЖДОЙ ГЛАВЕ + +Это главная проверка исполнением, и она не планировалась — вышла даром. Детерминированный счётчик +и слепой читатель не знают друг о друге: читателю закрыты эталон, код и вердикты, счётчик не видел +ни одного ответа. Тем не менее **каждый дефект, который счётчик нашёл у `RG`, читатель назвал сам, +теми же словами:** + +| глава | счётчик нашёл | читатель написал | +|---|---|---| +| `49ca859c` | `m-lle`, `Castia` | «m-lle Castia латиницей» | +| `3bd64811` | `Capitaine` | «латинский Capitaine» | +| `90a20cb4` | `swift as silver`, `gens d'armes` | «непереведённое „swift as silver“ и „gens d'armes“ в русском абзаце» | +| `197f98eb` | `P A T I E N C E` не переведено | «Т1 выигрывает сохранённой разрядкой „Т Е Р П Е Н И Е“» | +| `001e6ac4` | `встретил`, `понял`, `увидел`, `понял` — мужской род у рассказчицы | «Т3 ведёт весь текст мужчиной» | +| `5a8f48d2` | `была` — разнобой рода в одном слое | «рассказчица говорит о себе в мужском роде при обращении „Селена“» | + +⇒ **Счётчик — не артефакт.** Его находки воспроизводит человеко-подобный прибор, работающий по +другому принципу и вслепую. + +⚠ И ровно там, где приборы РАСХОДЯТСЯ, видно, чем они разные: на `197f98eb61` счётчик штрафует +`RG` за непереведённую разрядку, а читатель ставит `RG` на ПЕРВОЕ место — за прозу. Счётчик мерит +брак, чтение мерит чтение. Это не противоречие, это разделение труда, и оно объясняет, почему +«ранги» и «дефект-классы» обязаны печататься рядом, а не вместо друг друга. + +### Д32.14 ПАСПОРТ РАЗРЕШЕНИЯ ПАНЕЛИ-0 + +``` +ПАСПОРТ: приборов ДВА · счётный (детерминированный, эталон по исходнику) + ранговый + (слепое чтение fable-5, 1 чтение/глава, семейств 1) +n = 16 английских единиц = 7.89 главы Гу · k = 4 арма · тег p0 · клетки: ФД-B, ФД-G, ФД-J, ФД-N +СЧЁТНЫЙ: 4 класса · правило: глав с ≥1 фаталом, парный знаковый p<0.05 + ⚠ потолок мощности: p<0.05 недостижим при <6 глав с ненулевой разницей +РАНГОВЫЙ: sd контраста даёт порог 0.89–1.21 места из 4 · правило: |Δ|>порог И знаковый p<0.05 +пол |Z0−ZF| = 1.38 места из 4 (парный разрыв +0.38 при пороге 1.02 — пол годен) + ⚠ НИЖНЯЯ граница: общий черновик у 3 армов из 4, читатель опознаёт родство +грубого декоя НЕТ (состав панели задан пре-регом) — разрешение держится только на близнецах +СЛЕП К: эффектам ниже порога · кросс-главной консистентности · расхождению вкуса прибора с + владельцем (ось ВЕРНОСТИ, Д30/Шаг 8) · абсолютному уровню класса Б +НЕ УРАВНЕНО: объём инструкции RG ×1.80 · потолки вывода 16000 против 32000 · буфер двухвендорен +``` + +⚠ **Оговорка сборки, которую EXIT=0 не показывает:** из 16 пакетов **разных раскладок 13** — при +четырёх армах всего 24 перестановки, и совпадения неизбежны. Требование «раскладка своя на каждую +главу» существует против переноса знания ОДНИМ читателем между главами; здесь читателей 16 и +каждый видит один пакет, поэтому совпадение раскладок безвредно. Записано, потому что инструмент +печатает под этим ⛔, а сборку не роняет. + +### Д32.15 ⭐⭐ ВЕРДИКТ ШАГА 1 И ЧТО ОН ЗАКРЫЛ + +**Формулировка — в терминах, которых требует план: интеракция «архитектура × жилец на ИСПЫТАННЫХ +жильцах», не «минимакс».** + +> Слабый испытанный жилец (`glm-5` с погашенным размышлением), поставленный РЕДАКТОРОМ над боевым +> черновиком, читается и считается **как боевой `deepseek-v4-pro` в той же роли**: ноль различия +> средних мест (p=0.80), ноль различия по бинарному правилу дефект-классов, 3/16 «машинных» глав у +> обоих. Тот же жилец ОДНОПРОХОДКОЙ **различимо хуже** и по чтению (+1.12 места при пороге 0.99, +> знаковый p=0.0042 — конъюнкция пройдена), и по счёту (+13 фаталов, p=0.0312), и по браку +> адресно: 5 дефектов рода против 1, 9 кусков непереведённого исходника против 0. + +⇒ **Буфер существует, замерен двумя независимыми приборами и стоит $0** (клетки были куплены). + +**Что это закрывает из плана 22.08:** +* **Шаг 1 — закрыт.** Известно, буферизует ли топология слабого жильца: да, на испытанных жильцах. +* **Строка контракта «что обязан гарантировать ЧЕРНОВИК» — подтверждена клеткой**: разрядку + `P A T I E N C E` черновик потерял → потерял и `E6`; уцелела она у `ZF` и (латиницей) у `RG`. +* **Долг В21 — ИСПОЛНЕН с отрицательным результатом** (Д32.11): сверка двумя путями на диске + НЕВОЗМОЖНА, `cost_usd` считает наш же ростер, вопрос уходит владельцу. +* **Шаг 5.2 (счётчики отладить на купленном ДО покупки 15 глав Гу) — исполнен** для осей «род», + «кусок исходного языка», «авторский приём», «удержание банка». Прибор — `eval/dovodka/schet.py`, + гейты закрыты фальсификацией. +* **Шаг 5.1 (база класса Б) — НЕ закрыт, а уточнён:** сравнительная метка панели абсолютную норму + грунтовать не может (Д32.12). + +**Чего вердикт НЕ даёт, и это повторяется здесь намеренно:** худший ВОЗМОЖНЫЙ жилец не искался · +буфер двухвендорен (черновик — DeepSeek) · конфаундер объёма промта ×1.80 играет ЗА однопроходку · +потолки вывода у армов разные · три арма из четырёх — родня, и читатель мог это опознать · +ранговый эндпойнт был объявлен описательным и разрешился на панели в ЧЕТЫРЕ арма, а не в +одиннадцать. + +### Д32.16 ⛔ ЧТО ПАНЕЛЬ-0 ГОВОРИТ ПРО МЕТАВОПРОС — И ЧЕГО ОНА ПРО НЕГО НЕ ГОВОРИТ + +Панель мерила ОДНУ главу за раз. Кросс-главной консистентности она не мерила и не могла. Но +эталон, снятый вслепую, дал под метавопрос два числа, которых раньше не было (Д32.10): + +* **в 2 окнах из 8 с первым лицом пол рассказчика по окну НЕ УСТАНАВЛИВАЕТСЯ вовсе** — пайплайн, + видящий только главу, слеп по построению примерно в четверти случаев; +* **тот же голос (Селена) ведёт 4 окна нашей выборки, и в трёх пол устанавливается прямо** — то + есть закрыть эти 25% может ТОЛЬКО книжная память; +* **а полей пола в банке НЕТ** (`~/books/role-topology/bank-en.json`, 25 терминов, поля + `dst`/`rx`/`manual`/`why` — проверено файлом) — механизма не существовало ни в одном прогоне. + +⇒ Шаг 7 («засеять характер-листы ПЕРЕД прогоном, иначе прибор консистентности померяет пайплайн +без носителя консистентности») перестал быть предосторожностью и стал требованием с числом.