From fe276d45cbb0e9733f86b0fbddac3402d3f5b819 Mon Sep 17 00:00:00 2001 From: heaven Date: Sat, 12 Sep 2026 00:22:24 +0300 Subject: [PATCH] Record that the book's bank is a function of a stochastic draft, so two runs of the same text propose different keys at different granularity --- docs/experiments/25-door-to-file-b.md | 111 ++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/docs/experiments/25-door-to-file-b.md b/docs/experiments/25-door-to-file-b.md index d475d07a..f6bb270f 100644 --- a/docs/experiments/25-door-to-file-b.md +++ b/docs/experiments/25-door-to-file-b.md @@ -858,3 +858,114 @@ an upper bound on renderings, not a proof of two»), но вердикт в ко после фриза, и она объявлена девиацией (§11 п.1 результатов). **Работа завершена, править не планирую.** + +--- + +# ДОПИСКА 12.09 — по прямому вопросу «что ты знаешь и не сказала» + +> ⚠ Дописка, а не правка: ничего выше не тронуто. Поводом послужил вопрос оркестратора №23 после +> закрытия пака (норма: «в коде названо, в отчёте нет — значит для следующей смены НЕ названо»). + +## Д1. ⭐⭐ БАНК КНИГИ НЕДЕТЕРМИНИРОВАН ПО ПОСТРОЕНИЮ — замерено, а не предположено + +В §18.1(а) сказано, что восьми термов читателя «нет в банке», и причина названа только для части. +Пере-снято по обеим базам, два разных механизма: + +**(а) ЧТО ОТСЕКАЕТ КОНТРАСТ — и это НЕ порог.** Греп по `mining-contrast.zh.txt` (jieba 0.42.1, +**349 046 строк** — контроль): `家族` · `族` · `炼制` · `楼阁` · `先机` · `老妈子` — **ВСЕ в словаре +общекитайского**, а `方源` · `古月山寨` · `丫头片子` · `怀璧之罪` — нет. ⇒ **шесть из восьми термов +читателя отсечены потому, что они ОБЫЧНЫЕ КИТАЙСКИЕ СЛОВА.** Контраст спрашивает «характерно ли слово +для ЭТОГО текста на фоне китайского вообще»; продукт спрашивает «нужна ли слову ОДНА закреплённая +русская передача на всю книгу». **Для `家族` первый ответ „нет“, второй „да“** — и крупнейшая находка +приоритета №1 (род↔клан, 9 + 29 вхождений в исходнике) не отсеяна порогом, а исключена ПО ПОСТРОЕНИЮ. + +**(б) А РАСХОЖДЕНИЕ БАНКОВ A И B — СОВСЕМ ДРУГОЕ, и оно глубже.** Банки: общих **53**, только в A — +**16**, только в B — **13**, на побайтно одном исходнике и тождественном покупающем конфиге +(sha `a46b33ee…` у обоих). Granularity-парами объясняются лишь **4** (`丙等资质`↔`资质` · +`四更时`↔`四更` · `族长家老`↔`族长` · `贴身丫鬟`↔`丫鬟`). И частотой это не объясняется: +**`舅父舅母` встречается в исходнике 14 раз, есть в банке A и отсутствует в банке B.** + +⭐ **МЕХАНИЗМ ЗАКРЫТ ЗАМЕРОМ, $0.** Кандидатов банка предлагает ЧЕРНОВИК — канал `banknote` +draft-side (`bank-mining: draft-side proposals folded`). Сверено `retrieval_state.banknote_detail` +двух прогонов НА ОДНИХ И ТЕХ ЖЕ шести чанках: + +| чанк | поверхностей A | B | общих | только A | только B | +|---|---|---|---|---|---| +| ch1/0 | 16 | 19 | 15 | `天罗地网` | `牌位` `祭祀大典` `赤铜香炉` `魔头` | +| ch1/1 | 19 | 18 | 17 | `三转蛊师` `古月族长` | `将敬酒` | +| ch2/0 | 19 | **11** | 11 | `三转` `仙师` `孪生弟弟` `开窍` `怀璧之罪` `舅母` `舅父` `魔道巨擘` | — | +| ch2/1 | 15 | 12 | 11 | `唐诗宋词` `正派` `甲等资质` `邪魔` | `甲等` | +| ch3/0 | 17 | 20 | 13 | `四更时` `舅父舅母` `贴身丫鬟` `雪盐` | `丫鬟` `四更` `嬷嬷` `少爷` `时辰` `舅母` `舅父` | +| ch3/1 | 12 | 13 | 7 | `丙等资质` `丫头片子` `后宫` `族长家老` `舅父舅母` | `丙等` `家老` `族长` `舅母` `舅父` `资质` | +| **итого** | **98** | **93** | **74** | | | + +**Жаккар по книге = 0.63.** ⇒ **банк книги — функция ЧЕРНОВИКА, а черновик есть стохастический выход +модели. Значит и СОСТАВ банка, и ГРАНУЛЯРНОСТЬ его ключей недетерминированы от прогона к прогону на +одном входе.** Видно и род различия: на ch3/1 прогон A предлагает СОСТАВНЫЕ ключи (`丙等资质`, +`族长家老`, `舅父舅母`), а B — их СОСТАВЛЯЮЩИЕ (`丙等`, `族长`, `舅母`, `舅父`, `资质`, `家老`); на +ch2/0 предложение B — строгое подмножество A, беднее на восемь. +⛔ **Следствие для чисел этого прогона, и оно жёстче уже записанного:** консистентность мерится ПО +СТРОКАМ БАНКА, а сами строки между прогонами разные. **Двигается не только вердикт (ряд 436) — двигается +ПОПУЛЯЦИЯ, на которой он считается.** Числа `I1`/`I2` двух прогонов сравнивать нельзя не потому, что +прибор плох, а потому, что у них разные знаменатели по построению. + +## Д2. ТРИ НАХОДКИ ЧИТАТЕЛЯ, ВЫПАВШИЕ ИЗ ОТЧЁТА — и почему это хуже отброса + +В отчёт вошли **22 из 26**. [4] присутствует по содержанию (в §18.1(а) термы перечислены +иероглифами). **Три отсутствуют полностью, и я их НЕ отбрасывала по доводу — они выпали при сведении +находок в КЛАССЫ:** в §18.1(г) перечислены представители класса, и перечень не сверен с полным +списком. **У отброса есть аргумент, который можно проверить; у выпадения из выжимки его нет.** + +* **[10] МАЖОР, приоритет 4, `калька`.** `舅父舅母` — одно двусложное слово — отдано шестисловной + конструкцией «дядя по матери и тётя по матери», **11 раз полной парой** (плюс «тётя по матери» + отдельно ещё 6). ОРИГИНАЛ: «明天就是开窍大典,哥哥你这么晚还不休息,舅父舅母知道了,恐怕会担心的。» + ПЕРЕВОД: «Завтра ведь церемония открытия апертуры, а ты так поздно не отдыхаешь. Если дядя по + матери и тётя по матери узнают, боюсь, они будут волноваться.» В живой реплике подростка брату это + канцелярская справка о родстве. +* **[21] МИНОР, приоритет 3, `типографика`.** Два вида многоточия («…» ×10 и «...» ×2, строки 217 и + 227) и одна пара ПРЯМЫХ ASCII-кавычек внутри ёлочек при 24 парах ёлочек: + «…на пути демонов нет слова "компромисс"». Правки корректора, которых не сделали. +* **[24] МИНОР, приоритет 4, `калька`.** ОРИГИНАЛ: «弟弟如卧龙升天,哥哥似凤雏落地。» ПЕРЕВОД: + «Младший — словно Лежащий дракон, вознёсшийся в небо; старший — словно Птенец феникса, павший на + землю.» `卧龙` и `凤雏` — прозвища Чжугэ Ляна и Пан Туна, для китайского читателя мгновенно + узнаваемая пара равновеликих гениев; по-русски антитеза не срабатывает, читатель видит двух + произвольных зверей. + +## Д3. ЧЕТЫРЕ КОДОВЫХ НАБЛЮДЕНИЯ, НЕ ЗАВЕДЁННЫЕ НАХОДКАМИ В ОСНОВНОМ ОТЧЁТЕ + +1. ⚠ **`bank_decisions` пуста при трёх `approved`.** После ДВУХ прогонов, применивших правки через + дверь, в таблице **0 строк**, при `bank_terms` с **3** `approved` (оба числа сняты запросом). + Эффект решений есть, платформенной записи «кто что решил» нет. Видела на дымовой руке и не чесала; + в код за причиной НЕ ходила, поэтому дефект это или таблица другого назначения — не установлено. +2. **ДВА флора `min_max_tokens`, и какой выигрывает — выяснила только по вопросу.** + `pipeline-c1.yaml:18` несёт `2048`, `models.yaml` — `8000` (flash) и `16000` (pro). На проводе: + черновик 8496 (= 8000 + 496 банк-бюджета), редактор 16000, бэнк-роли 8000 ⇒ выигрывает + пер-модельный, пайплайновый инертен. +3. **`TM_PLATFORM_SIGNUP_GRANT_USD` печатается на буте** как «(an amount; not logged)», то есть + настройка фри-тир-гранта в деплое существует — при ратифицированном «продуктовых квот и фри-тира + нет и не проектируется». +4. **`waves.workers` — РЕАЛЬНЫЙ ключ** (`internal/config/pipeline.go:98`), дефолт **1** при ≤ 0 + (`:939-940`), **в боевом `pipeline-c1.yaml` не задан вовсе.** ⇒ последовательность прогона — + дефолт, а не записанное решение. Внутренний пер-модельный кап — `RateLimit.MaxConcurrency` + (`models.yaml`), выставлен только у `mistral-large-2512`. + ⛔ **О поведении при `workers > 1` этот прогон не говорит НИЧЕГО:** гонки, порядок записи, + снапшот и леджер под конкуренцией НЕ СМОТРЕЛА. + +## Д4. ДВА СВОЙСТВА ХОСТА, КОТОРЫХ НЕТ В ОСНОВНОМ ОТЧЁТЕ + +* **`/tmp` занят на 96 % на входе и 97 % на выходе** (5.7 ГБ из 5.9, tmpfs; 4.9 ГБ — скретчпады + ЧУЖИХ сессий). Меня не задело только потому, что `TMPDIR`/`GOTMPDIR` всех сборок и движка уведены + на диск. Забитый tmpfs маскируется под сломанную сборку. +* **`TM_PLATFORM_RUN_MEMORY_MAX` = `4G` по умолчанию** — прогон исполняется в транзиентном юните + systemd С ПОТОЛКОМ ПАМЯТИ. На трёх главах не сработало; на книге в 2283 главы это первый + подозреваемый при убийстве по `CONSTRAINT_MEMCG`. +* **`loginctl show-user … Linger=no`**, хотя `platform/README.md` говорит «установка требует + `enable-linger`, иначе не стартует ни один прогон». Прогон прошёл целиком ⇒ на этом хосте + утверждение README буквально НЕ выполняется (пользовательский менеджер systemd жив сам по себе). + +## Д5. ЧЕГО Я НЕ СМОТРЕЛА ВООБЩЕ + +SSE-поток `/v0/books/{id}/stream` не дёргала ни разу · `tmctl backup` как канал не проверяла, хотя +`TM_PLATFORM_BACKUP_DIR` включила · `--max-units` не трогала · несмонтированные ручки +(`getRun`/`updateBook`/`deleteBook`) не проверяла · метрики на `127.0.0.1:9468` не читала · +`regenerate_before_escalate` — не проверяла, срабатывал ли.