Correct the prompt's measurement material to the paid run's own database, and record the mid-flight relay in the queue issue log
This commit is contained in:
parent
3fc0182fbc
commit
ae855275ee
2 changed files with 63 additions and 16 deletions
|
|
@ -58,16 +58,30 @@
|
|||
⚠ Контроль «два одинаковых прогона дали 0 % пере-спроса» ВЫРОЖДЕН: он меряет детерминизм харнесса, а не силу
|
||||
предиката. Не засчитывай его.
|
||||
|
||||
⛔ **Материал замера — ТРИ вещи, а не одна, и это найдено опровергателем промта.** Из базы отпечаток не считается:
|
||||
таблицы чанков в схеме НЕТ (контроль: в `tm-coldrun-b/evidence/paid-final-project.db` таблиц 17, в
|
||||
`tm-coldrun-a/evidence/v16-readonly/project.db` — 16, `chunks` среди них ноль). Нужны: **(1)** копия базы — ответы ролей,
|
||||
банк, чекпойнты; **(2)** ИСХОДНИК книги, он лежит отдельно: `/home/ubuntu/tm-coldrun-a/material/guzhenren-ch1-3.gb18030.txt`
|
||||
(⚠ кодировка gb18030) и `evidence/*/source.txt`; **(3)** `book.yaml` того прогона. Отпечаток, посчитанный по единственному
|
||||
тексту, который база хранит, — по ОТВЕТАМ модели, — измерил бы не тот предмет.
|
||||
⛔ **Материал замера — НЕ ОДНА БАЗА, и первая редакция этого блока называла не тот файл.** Из базы отпечаток не
|
||||
считается: таблицы чанков в схеме НЕТ (контроль: 17 и 16 таблиц, `chunks` среди них ноль). Нужны ПЯТЬ входов:
|
||||
**(1)** копия базы платного прогона; **(2)** исходник `source.txt` рядом с ней; **(3)** `book.yaml` того прогона;
|
||||
**(4)** зеркало конфигов прогона; **(5)** контраст майнинга.
|
||||
|
||||
⛔ **Сырьё куплено и невосстановимо. Работай на КОПИЯХ.** Базы: `/home/ubuntu/tm-coldrun-a` (14 баз,
|
||||
`evidence/v16-readonly/project.db`) и `/home/ubuntu/tm-coldrun-b` (26 баз, `evidence/paid-final-project.db`,
|
||||
`evidence/paid-bankstop/project.db`). База прогона A несёт схему 16 при голове 18: `OpenReadOnly` её отвергает,
|
||||
⛔ **Какая база платная — проверено замером, а не именем каталога.** Прогон **A** — это
|
||||
`/home/ubuntu/tm-coldrun-a/stand/books/bk_ROEHZBD46ALFI43E/project.db` (глоссарий **69** — число, на котором стоят все
|
||||
замеры банка; чекпойнтов 33; Σ`cost_usd` **0.419423**, сходится с ратифицированной суммой). ⚠ `evidence/v16-readonly/project.db`
|
||||
платным прогоном A **НЕ является**: `book_id` `guzhenren-coldrun-v16`, глоссарий 53, Σ 0.43611 — другая книга и другие деньги.
|
||||
Прогон **B** — `evidence/paid-final-project.db`, он же `stand/books/bk_NH6275ZIRFFTLZHG/project.db` (66 · 34 · 0.396657);
|
||||
дополнительно `evidence/paid-bankstop/project.db` годится как «проход 1 ДО подписи» (глоссарий 0, банка в нём нет).
|
||||
|
||||
⛔ **Ловушка конфигов, которая портит замер МОЛЧА.** Все `book.yaml` прогонов ссылаются на `/home/ubuntu-26/…`, и этого
|
||||
каталога на машине нет. Работай на КОПИИ `book.yaml`, перенаведя `pipeline`, `models`, `langpack_root` на
|
||||
`/home/ubuntu/tm-coldrun-{a,b}/mirror/cfg/…` (у A реестр моделей и языковые пакеты — в `freeze/backend/configs/`). Иначе
|
||||
загрузка либо падает, либо берёт конфиги ГОЛОВЫ, и ты меряешь не тот прогон.
|
||||
|
||||
⚠ **Вход контура, которого в репозитории нет вовсе:** `backend/configs/pipeline-c1.yaml:139`=`contrast_path: mining-contrast.zh.txt`
|
||||
— в git ноль файлов, в зеркалах прогонов он есть (349 046 строк) и резолвится ОТНОСИТЕЛЬНО каталога pipeline-файла.
|
||||
⚠ Базы в WAL-режиме: копируй `project.db` вместе с `-wal` и `-shm`, печатай их размеры — копия одного файла при непустом
|
||||
WAL есть устаревший снимок. ⚠ `source.txt` — сырые байты gb18030; гони чанки через ingest движка (автопроба кодировки у
|
||||
него есть), а не читай файл харнессом как UTF-8, иначе кандидаты станут мусором и контроль покраснеет не по своей причине.
|
||||
|
||||
⛔ **Сырьё куплено и невосстановимо. Работай на КОПИЯХ**, оригиналы не открывай вовсе. База прогона A несёт схему 16 при голове 18: `OpenReadOnly` её отвергает,
|
||||
а `Open` МИГРИРУЕТ (ряд **475**). Я пере-снял: миграции v17/v18 аддитивны — `CREATE TABLE IF NOT EXISTS` и
|
||||
`ALTER TABLE … ADD COLUMN`, ни одного `DROP`/`RENAME`/`DELETE FROM`, — то есть на копии `Open` безопасен, а
|
||||
оригинал не открывай вовсе. `sqlite3` как CLI на машине НЕТ: python3 + модуль `sqlite3`, режим `mode=ro`.
|
||||
|
|
@ -83,9 +97,19 @@
|
|||
двухрежимная эмиссия ставит `draft` ТОЛЬКО при непустом `dst`
|
||||
(`backend/internal/miner/miner_emit.go:279`=`st.Dst, st.Status = m.Dst, "draft"`), иначе строка остаётся `auto`.
|
||||
|
||||
⇒ Наивный фильтр молча ОБНУЛИТ уже купленную передачу: авто-банк потеряет её, а таблица стопа и проекция
|
||||
покажут строку неотвеченной. Прогон станет выглядеть дешевле, а банк — беднее. Это ровно тот класс, за который
|
||||
здесь бьют: выгода видна, потеря молчит.
|
||||
⇒ Наивный фильтр молча теряет КОНСОЛИДИРОВАННУЮ передачу и статус. ⚠ Механика уточнена пингом исполнителя 17.09 и
|
||||
пере-снята мной — прежняя редакция писала «обнулит передачу», это верно по следствию и неточно по механизму:
|
||||
`backend/internal/miner/miner_emit.go:268`=`st.Dst = props[0].Dst` ставит передачу из СЫРОГО банкнотного предложения ещё до
|
||||
консолидации, а статус поднимается отдельной веткой только при консолидированном значении. ⇒ снятая строка откатывается
|
||||
к догадке ПЕРВОГО куска в статусе `auto`; целиком передача исчезает лишь там, где своего предложения на поверхности не
|
||||
было. **И это опаснее обнуления, а не мягче:** пустой `dst` заметен на листе и в проекции, а строка с чужой догадкой в
|
||||
статусе `auto` выглядит нормальной и едет дальше как обычная неотвеченная. Прогон при этом выглядит дешевле, а банк
|
||||
беднеет — класс, за который здесь бьют: выгода видна, потеря молчит.
|
||||
|
||||
⛔ **Отсюда прямое требование к базису, и довод берётся у самого кода:** `backend/internal/miner/miner_emit.go:274`=`The mode turns on the CONSOLIDATED dst only`
|
||||
объясняет, что режим включается только консолидированной передачей и никогда сырой догадкой куска, иначе «первая мысль
|
||||
модели становится рабочим каноном книги». ⇒ базис подставляет КОНСОЛИДИРОВАННЫЙ ответ, а не любой непустой — иначе он
|
||||
сам сделает то, против чего эта ветка написана.
|
||||
|
||||
**Поэтому базис подставляет ответ** — передачу, тип, род — там, где роль не спрашивали. Перечисли в записке
|
||||
ВСЕХ читателей ответа и покажи в отчёте, что каждый получил своё; начни с `attachConsolidatedDst`,
|
||||
|
|
@ -102,6 +126,18 @@
|
|||
передачу, которую в эту покупку никто не покупал, и поедут на КАЖДОЙ покупке. «Нет» — отметки исчезнут у населения,
|
||||
ради которого фильтр и сделан двух-условным. Молчание здесь — выбор вслепую, и он денежный.
|
||||
|
||||
⛔ **Проверок СПОРА три, а не две, и третья решает судьбу правила «семья — юнит».** Кроме двух названных есть
|
||||
`backend/internal/pipeline/terminologist.go:637`=`terminology.ConsolidationConflicts(cands, out)`. Все три читают карту
|
||||
передач и не знают, откуда передача взялась, денег не тратят. ⭐ Довод в пользу «да, судить»: пере-спрошенный член семьи
|
||||
виден в конфликте с РЕШЁННЫМ братом только если брат присутствует в карте — иначе правило «семья решается целиком»
|
||||
лишается единственного $0-прибора, который его стережёт. Цена «да» — не деньги, а шум на листе подписи, и лечится он
|
||||
ЯРЛЫКОМ строки («решено памятью с покупки N»), а не молчанием.
|
||||
|
||||
⛔ **И потому базисной строке нужен СВОЙ флаг, а не существующий «снято банком».** Код объясняет старый флаг дословно:
|
||||
`backend/internal/pipeline/stopcontest.go:70`=`there is no answer to doubt` — строку, снятую банком, не оспаривают, потому что
|
||||
ответа нет. У базисной строки ответ ЕСТЬ, и отметка спора на ней законна. Унаследуешь флаг по совпадению смысла — молча
|
||||
выключишь спорность там, где она должна работать. Счётчик тоже свой: цикл счёта идёт по оплаченным.
|
||||
|
||||
⛔ **Отдельно `Invented`:** `backend/internal/pipeline/mining.go:502`=`row.Invented = dst != "" && !proposedByDrafts(dst, c.Variants)` — передача,
|
||||
подставленная базисом, черновиками ЭТОЙ покупки не предлагалась и будет помечена «выдумано движком»: ложное
|
||||
обвинение собственного канона книги на листе подписи. Смежное, назови оба: `backend/internal/pipeline/stopcontest.go:75`=`if r.SettledByBank`
|
||||
|
|
@ -158,7 +194,17 @@
|
|||
в пар-данные, построено `D39.51`/`D39.53`, носитель — `backend/internal/lang/langpack.go:744`=`kwic_per_term`. Константа в Go стала бы
|
||||
единственной шириной и была бы пар-слепой по случайности, причём на ДЕНЕЖНОМ предикате. ⇒ ширина — пар-данное с
|
||||
движковым умолчанием, и в отчёте ответь на ревью-вопрос канона: заработает ли пара, которой в репозитории нет, без
|
||||
правки Go. Инвариантность достигается тем, что отпечаток не читает ОТОБРАННЫЕ окна, а не тем, что ширина зашита. Якорь канона бери **по кандидату**, не по
|
||||
правки Go.
|
||||
|
||||
⛔ **И условие, без которого пар-данное само становится миной: ключ ОТДЕЛЬНЫЙ, не `kwic_width` и не `kwic_per_term`.**
|
||||
Возьмёшь ширину провода — первый же «богаче контекст» пере-откроет решённое у КАЖДОЙ книги пары, то есть вернётся ровно
|
||||
та связка, которую этот блок и запрещает. Инвариантность даёт то, что отпечаток не читает ОТОБРАННЫЕ окна; ручка ШИРИНЫ
|
||||
хеш двигает, и это говорится прямо, а не умалчивается. Эффективная ширина входит в версию схемы в заголовке носителя,
|
||||
чтобы смена пар-данного была НАЗВАННЫМ событием с числом, а не тихим обнулением.
|
||||
|
||||
⚠ И уточнение к сторожу исходника: при отпечатке по всем вхождениям дописка в конец меняет отпечаток только у строк,
|
||||
чьи вхождения попали в дописанное, — базис целиком не обнуляется. «Дописано» от «подменено» отличает хеш префикса
|
||||
прежней длины, и это $0. Якорь канона бери **по кандидату**, не по
|
||||
батчу: `CanonFor` принимает батч (`backend/internal/terminology/terminology.go:856`=`func CanonFor(batch []Candidate`), и отпечаток по батчу вернул бы зависимость от состава,
|
||||
от которой пак как раз уходит. В отпечатке НЕТ вариантов черновиков, `freq` и `since_ch`.
|
||||
|
||||
|
|
@ -262,8 +308,9 @@
|
|||
своей готовой работе; субагентов поднимать разрешаю явно. Глубину выбираешь сама, направление даю я — пять мест,
|
||||
где этот пак мягок:
|
||||
|
||||
1. **Потеря передачи у снятого кандидата** (§4.2) — самая тихая регрессия. Проверяй тем, что авто-банк и
|
||||
стоп-таблица после прогона с базисом несут ТЕ ЖЕ ответы, что без него.
|
||||
1. **Потеря передачи у снятого кандидата** (§4.2) — самая тихая регрессия. ⛔ Пин сравнивает **ПАРУ (передача, статус)**,
|
||||
а не одну передачу: сравнение по одному полю пройдёт ЗЕЛЁНЫМ на строке, которая уехала с консолидированной передачи
|
||||
на сырую догадку куска, оставшись в статусе `auto`. Уточнение пришло пингом исполнителя и подтверждено деревом.
|
||||
2. **Точка записи** (§4.3) — посадка, ставящая базис до развилки, обязана краснеть пином резюма.
|
||||
3. **Отпечаток** (§4.4) — посадка, меняющая число или ширину окон, НЕ должна обнулять набор решённых.
|
||||
4. **Первый резюм после записи базиса** — он платит за переупаковку хвоста один раз. ⛔ **Пин обязан различать ДВЕ
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue