From 583b4ff047496092b0421368dac5a173b1e25d36 Mon Sep 17 00:00:00 2001 From: heaven Date: Wed, 2 Sep 2026 02:20:22 +0300 Subject: [PATCH] Wire the reference cell through the whole plan instead of one paragraph, fix the invented backup flag, and name the four ways the reference would lie --- eval/dovodka/PLAN-01-09.md | 42 ++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/eval/dovodka/PLAN-01-09.md b/eval/dovodka/PLAN-01-09.md index 844c8ecb..98f1158f 100644 --- a/eval/dovodka/PLAN-01-09.md +++ b/eval/dovodka/PLAN-01-09.md @@ -35,7 +35,7 @@ SHA — снапшот их различает (`snapshot.go:288`=`prompt_sha256 Состав снят с отработавшего `coldrun-v16` и менять его нельзя: смета и сопоставимость стоят на нём. * **БЛОКИРУЕТСЯ трудность:** каждая рука видит ВСЕ юниты. Реализация: один базовый прогон (черновая - волна + майнинг + терминолог), затем БД копируется ×4. + волна + майнинг + терминолог), затем БД копируется **×5** (четыре руки креста + референс `glm`). ⭐ **Черновики выживают за $0 НЕ ре-пином** (`repin.go` — механизм смены БАНКА, при смене промпта/эффорта он даёт «Nothing is re-pinnable»), **а потому, что снапшот ПЕР-ВОЛНОВЫЙ** (`snapshot.go:225-231`=`waveDraft`): правка edit-стадии draft-снапшот не двигает, и черновики @@ -51,14 +51,16 @@ SHA — снапшот их различает (`snapshot.go:288`=`prompt_sha256 «контролируется, а не измеряется» снята как противоречащая §4. * **ФИКСИРУЕТСЯ:** модель и дата вендор-доки · бинарь `tmctl` по sha · `models.yaml` по sha · потолок вывода · `temperature 0.4` · `few_shot: false` · санитайзер ON · - `escalation.budget_usd: 0` **ТОЛЬКО в четырёх конфигах рук.** ⛔ **В БАЗОВОМ прогоне он обязан быть + `escalation.budget_usd: 0` **ТОЛЬКО в ПЯТИ конфигах рук** (четыре креста + референс). ⛔ **В БАЗОВОМ прогоне он обязан быть > 0**, иначе эхо-черновики останутся флагнутыми: в холодном прогоне 5 хопов на 25 вызовов, $0.103 на 10 глав ⇒ **≈$0.25 на 24 главы, и это отдельная строка сметы**. ⚠ **обоснование прежней редакции («иначе флагнутый юнит уйдёт хопом») ЛОЖНО и снято: редактор эскалировать не может по построению** (`pipeline.go:1012`=`escalate_to is only allowed on a translator role`). Настройка инертна для edit-волны; держим её как гигиену, а не как защиту. -* **РАНДОМИЗИРУЕТСЯ** порядок рук внутри юнита; **интерливинг во времени** — четыре клетки юнита в +* **РАНДОМИЗИРУЕТСЯ** порядок ЧЕТЫРЁХ рук креста внутри юнита; ⭐ **референс `glm` идёт ПЯТЫМ, + фиксированно последним** — тогда при срабатывании денежного гарда теряется референс, а не пара, + на которой стоит E1. **Интерливинг во времени** — пять клеток юнита в окне 10–20 минут, чтобы дрейф сервинга не разошёлся между руками. ⛔ **Останов цикла НЕ по коду выхода:** штатная остановка по объёму приходит **и как 0, и как 2**, различает её только строка `VOLUME CEILING:` в выводе. `|| break` (урок Д47.6) здесь либо рвёт @@ -78,6 +80,19 @@ pro@low против glm@off СЕГОДНЯ». Это ровно та табли взаимодействия. Плюс удвоение рук при потолке $8.6 срезало бы n до ~12 и MDE до ×2.7 — проба перестала бы видеть даже ×2.5. +⚠ **ЧЕТЫРЕ ОГОВОРКИ РЕФЕРЕНСА, без которых он даст ложное число** (найдены скептиком 02.09): +1. **Его потолок вывода НЕ 16000.** У `glm-5` в реестре нет флора `min_max_tokens` («0 = no floor» + для моделей с выключаемым размышлением) ⇒ потолок = `EstimateTokens(draft)·2.2` ≈ 4.5 тыс. + Для E1 неважно (референс в него не входит), но для E0/E2 «равный потолок» на него НЕ + распространяется — и это записывается рядом с числом. +2. ⛔ **`R̂` для референса обязан быть 0 ПО ПОСТРОЕНИЮ, а не по формуле:** у него другой токенизатор, + и формула напечатала бы «думает ±300 токенов» на модели с выключенным размышлением. Статья + «размышление» = 0, «видимый выход» = весь `completion_tokens`. +3. ⚠ **«Боевая форма» ≠ `few_shot: false`:** боевой резервный арм держит few-shot ВКЛЮЧЁННЫМ. + Выбрать и записать: либо референс не боевой, либо статья «вход» в E0 несёт лишний блок. +4. ⚠ **Референс на билингвальном входе — зона эха.** Его эхо-клетки дадут `delivered = 0` и раздуют + цену знака не из-за цены. **E5 считается по референсу ОТДЕЛЬНО.** + **Единица наблюдения** — клетка (юнит × рука); **единица анализа** — юнит. ⭐ **Требование §14 «потолок вывода одинаков во всех руках» выполняется само:** `stagerun.go:109-125` @@ -106,7 +121,7 @@ n=16, sd 0.0069**. Ошибка типично ~3% видимого выхода несёт обрезанный текст и пустой `usage_json`; (4) типичная ошибка ~3%, худшая клетка — **5.3%**. **Дыра 2. У движка нет проводного артефакта** — стадийный лог эффорт не печатает. Лечение: -(а) снапшот фолдит `Reasoning` и `PromptSHA256` ⇒ **у четырёх рук четыре разных `snapshot_id`**, это +(а) снапшот фолдит `Reasoning` и `PromptSHA256` ⇒ **у пяти рук пять разных `snapshot_id`**, это запись в БД, что конфиг был в силе; (б) сигнатура `prompt_tokens(∅) − prompt_tokens(low)` по юнитам (на en дважды ровно **79**). ⚠ Оба — косвенные; побайтной улики у движка нет. @@ -210,6 +225,11 @@ zh→ru, на нашей нарезке (~2 тыс. знаков исходни `e0`/`zf`, побайтно один вход) — ⚠ **на английской паре и роли редактора; на zh не переносится**, поэтому планируем σ=1.2 с чувствительностью 1.0/1.4. +⭐ **Плановое число — ×2.0 при σ=1.2** (z-аппроксимация с поправкой на ранговый тест). ⚠ Три версии, +гулявшие по документам, суть одна формула в разных конвенциях: ×1.82 при σ=1.02 · ×1.88 при σ=1.056 +(несмещённая sd, t-квантили без поправки) · ×2.02–2.08 при σ=1.2. t-квантили при n=24 добавляют ~3%. +Решение владельца ни одна из трёх не двигает. + | σ | ×2.5 | ×2.0 | ×1.5 | MDE при n=24 | MDE при n=32 | |---|---|---|---|---|---| | 1.02 | 11 | 18 | 51 | ×1.82 | ×1.68 | @@ -239,10 +259,10 @@ zh→ru, на нашей нарезке (~2 тыс. знаков исходни прогоне это $0.4361). ⇒ `ceilings.book_usd` каждой копии = **база + доля руки + запас**, то есть в `book.yaml` меняются ТРИ поля (`project_db`, `pipeline`, `ceilings`), либо потолок задаётся `--ceiling-usd` на каждый запуск. И **число владельцу подаётся ОДНОЙ суммой**: база + пред-полёт + - N юнитов × 4 руки — иначе базовый расход посчитается четырежды или не посчитается вовсе. + N юнитов × 4 руки креста + референс — иначе базовый расход посчитается четырежды или не посчитается вовсе. Отказ леджера = **СТОП и вопрос владельцу**; добор после чисел запрещён; потолок сессия не поднимает. 5. **Фриз — и он обязан лежать в зоне полигона.** Пре-рег и скрипт эндпойнта коммитятся в - `eval/dovodka/`. ⚠ Четыре `pipeline.yaml` и два `editor.md` физически живут в каталоге книги — + `eval/dovodka/`. ⚠ ПЯТЬ `pipeline.yaml` и два `editor.md` физически живут в каталоге книги — это ОТДЕЛЬНЫЙ репозиторий с открытым вопросом «кто коммитит книги», поэтому в зону полигона кладутся **их замороженные копии вместе с sha256**; иначе «коммитами ДО первой клетки» не исполнимо по канону. Всё — ДО первой платной клетки. @@ -268,7 +288,8 @@ zh→ru, на нашей нарезке (~2 тыс. знаков исходни | базовый прогон (черновая волна + майнинг + терминолог) | — | ≈ $0.6 | | эскалация эхо-черновиков в базовом прогоне (`budget_usd` > 0) | ~12 хопов | ≈ $0.25 | | пред-полёт (1 юнит × 4 руки) | 4 | ≈ $0.25 | -| **вариант A:** 24 юнита × 4 руки (+20% запаса) | 96 | ≈ $7.5 | +| **вариант A:** 24 юнита × 4 руки креста (+20% запаса) | 96 | ≈ $7.5 | +| ⭐ референс `glm-5@off`, 24 клетки (+20%) | 24 | ≈ **$0.6** | | **вариант B:** 32 юнита × 4 руки (+20% запаса) | 128 | ≈ $10.0 | ⭐ **ОДНОЙ СУММОЙ, как и надо просить у владельца** (иначе база посчитается четырежды или ни разу — @@ -394,6 +415,7 @@ sha256sum $B/bin/tmctl | `p7-low.yaml` | `$B/editor-p7.md` | `"low"` | | `p9-off.yaml` | `$B/editor-p9.md` | `"off"` | | `p9-low.yaml` | `$B/editor-p9.md` | `"low"` | +| ⭐ `glm-off.yaml` (**референс, не рука креста**) | `$B/editor-p9.md` | `"off"`, модель **`glm-5`** | ```bash cd /home/ubuntu/projects/textmachine @@ -420,8 +442,10 @@ $B/bin/tmctl translate --config $B/book.yaml --verify-bank --ceiling-usd 1.20 2> # к владельцу, не продолжать. # 2. КОПИИ — только через backup, не cp (живые -wal/-shm теряют данные) -$B/bin/tmctl backup --config $B/book.yaml --out $B/arms/p7-off.db -# …и так все четыре; в каждой копии свой project_db, pipeline и ceilings +$B/bin/tmctl backup --config $B/book.yaml # ⚠ флага --out НЕТ: пишет в $B/backups/.db +cp $B/backups/.db $B/arms/p7-off.db # …и так все ПЯТЬ копий +# в каждой копии свой project_db, pipeline и ceilings +# ⛔ если project_db копии не существует, движок заведёт ПУСТУЮ базу и купит черновую волну заново # 3. ИНТЕРЛИВИНГ: юнит за юнитом, руки в порядке из сида for u in $(seq 1 $N); do