Record the owner's five bank decisions as a note, raise the rows they touch, add rows for the smart bank point and for voice, and refresh the queue bulletin
This commit is contained in:
parent
f5cd26a11d
commit
2a64987193
4 changed files with 37 additions and 12 deletions
|
|
@ -3,7 +3,7 @@
|
|||
> **Единственный трекер проекта.** Здесь живут строки, на которые доки, промты и D-ноты ссылаются словами «строка N» / «строка бэклога N»: **ID строки стабилен навсегда**, не перенумеровывается и не переиспользуется (D39.80). Правки — только через оркестратора; каждая петля обязана иметь диспозицию: решено / отложено-с-записью / отклонено.
|
||||
> ⚠ **Это НЕ бэклог зоны `docs/`, а бэклог ПРОЕКТА.** У зон свои, с другими неймспейсами ID, и единый их строк не принимает (D39.84): платформа — [../platform/BACKLOG.md](../platform/BACKLOG.md) (`П-N`) и её регистр дефектов `platform/docs/DEFECT_REGISTER.md` (`PD-N`); фронт — [../frontend/docs/BACKLOG.md](../frontend/docs/BACKLOG.md) (`Ф-N`).
|
||||
> ⚠ **Состояние проекта — не здесь.** Очередь, курс, CURRENT-STATE, состояние паков и живая хроника — шапка [PROGRESS.md](PROGRESS.md). Здесь только долг и его диспозиции.
|
||||
> - **СЧЁТ ОЧЕРЕДИ на 16.09 (скриптом по таблице — `python3 docs/scripts/counts.py`; обновлять при каждом лендинге):** всего **333** строк · зона бэкенд **169** строго / **222** широко (⚠ колонки счётчик читает С КОНЦА — испр. D39.116) · **блокеров очереди 0** (236 закрыта D39.175; **371** — актом D39.233, **360** — актом D39.232, обе 10.09), платные прогоны разблокированы · «скоро» **172** (перечень — грепом по таблице, рукописный список снят D39.126) · гейт-строка эксп-22: 153 (плюс 150 — руки владельца; ⚠ 55 из гейтов СНЯТА — D39.198 п.5); строка 5 — остаток гейчен ре-пробой 74, носитель события теперь строка 188 (аудит D39.140); остальное «когда-нибудь». ⚠ Счёт — НИЖНЯЯ граница долга, не потолок (разбор — легенда таблицы ниже).
|
||||
> - **СЧЁТ ОЧЕРЕДИ на 16.09 (скриптом по таблице — `python3 docs/scripts/counts.py`; обновлять при каждом лендинге):** всего **335** строк · зона бэкенд **171** строго / **224** широко (⚠ колонки счётчик читает С КОНЦА — испр. D39.116) · **блокеров очереди 0** (236 закрыта D39.175; **371** — актом D39.233, **360** — актом D39.232, обе 10.09), платные прогоны разблокированы · «скоро» **174** (перечень — грепом по таблице, рукописный список снят D39.126) · гейт-строка эксп-22: 153 (плюс 150 — руки владельца; ⚠ 55 из гейтов СНЯТА — D39.198 п.5); строка 5 — остаток гейчен ре-пробой 74, носитель события теперь строка 188 (аудит D39.140); остальное «когда-нибудь». ⚠ Счёт — НИЖНЯЯ граница долга, не потолок (разбор — легенда таблицы ниже).
|
||||
> - ⚠ **Переезд 06.09 (D39.218):** таблица вынесена из `PROGRESS.md` ДОСЛОВНО и ни один ID не сдвинут — **с единственным исключением: две ячейки (строки 220 и 306) тронуты РОВНО в номере якоря `docs/scripts/counts.py:566`→`:569` и `:592`→`:595`**, потому что цель сдвинул этот же коммит; текст ячеек не менялся, длины равны. В `PROGRESS.md` на прежнем месте оставлен заголовок-указатель, поэтому ссылки «секция „Бэклог“» доезжают в один хоп.
|
||||
|
||||
## Бэклог (ЕДИНЫЙ, собран 26.07, актуализация 04.08 D39.99/D39.101; правки — только через оркестратора)
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
| **— ВИСИТ НА ВЛАДЕЛЬЦЕ —** | | | | | |
|
||||
| 2 | Четыре вопроса границы «алгоритмического идеала» (Annotator · семантический судья · ja→ru §B5 · ru-target до/после) | владелец | скоро (гейт «добора идеала» перед МАСШТАБОМ) | отдельное решение | D39.33, D39.38 |
|
||||
| 4 | **Ре-чек ToS по триггерам** — первый ИСПОЛНЕН 31.07, дельт вердиктов нет (D39.57); предмет Google-мониторинга перевешен на цепочку договора (PUP · Additional ToS · Google APIs ToS); следующие: квартал 25.10.2026 · первая лейблованная книга · любая правка `accepts_labels` | владелец/полигон | скоро (следующий триггер 25.10.2026) | отдельное решение (правило) | D39.32, D39.57 |
|
||||
| 5 | **Арбитраж банка: замер ИСПОЛНЕН и ПРИНЯТ (research/24, D39.102).** Закрыто классом: равноправный совет · кросс-модельные веса уверенности · self-consistency · селекция из вариантов · отказ-сигнал ⟦TM-NO-DST⟧; Q2 отвечен — семейства не окупаются (C3−SC=+3 и все три добычи = один кластер; glm-соло 25/45 > совет 23/45). **ОСТАТОК СТРОКИ:** рецензент-другого-семейства ТОЛЬКО на спорных КЛАСТЕРАХ (слот при ре-пробе 74), роутинг целыми family/series-юнитами (G4), эмиссия рецензента — та же draft/⟨проверить⟩. История захода — D39.89/90/101/102 | полигон/ресёрч | **ОСТАТОК ГЕЙЧЕН ре-пробой 74** (D39.102 п.2) | замер (остаток) → решение | D39.89, **D39.102** |
|
||||
| 5 | **Арбитраж банка: замер ИСПОЛНЕН и ПРИНЯТ (research/24, D39.102).** Закрыто классом: равноправный совет · кросс-модельные веса уверенности · self-consistency · селекция из вариантов · отказ-сигнал ⟦TM-NO-DST⟧; Q2 отвечен — семейства не окупаются (C3−SC=+3 и все три добычи = один кластер; glm-соло 25/45 > совет 23/45). **ОСТАТОК СТРОКИ:** рецензент-другого-семейства ТОЛЬКО на спорных КЛАСТЕРАХ (слот при ре-пробе 74), роутинг целыми family/series-юнитами (G4), эмиссия рецензента — та же draft/⟨проверить⟩. История захода — D39.89/90/101/102 ⚠ **16.09 (`D39.254` п.2):** владелец просит в точке банка «консилиум алгоритмов, который выведет, что инжектить редактору». Уцелевший остаток ЭТОГО ряда — рецензент другого семейства ТОЛЬКО на спорных кластерах — и есть ратифицированная форма такого совета; равноправный совет моделей закрыт замером D39.102 п.2, детерминированный ансамбль не закрыт.| полигон/ресёрч | **ОСТАТОК ГЕЙЧЕН ре-пробой 74** (D39.102 п.2) | замер (остаток) → решение | D39.89, **D39.102** |
|
||||
| 6 | **Строка Gemini в `accepts_labels`** — ждёт слова владельца о подписи интерпретации сужения как разрешения; ре-чек 31.07 понизил приоритет: подпись даёт ПРАВО, но не судью 18+ (фильтр неконфигурируем D22.6 + обход запрещён договором) — возвращаться при вопросе, требующем именно права | владелец | когда-нибудь | отдельное решение | D39.32, D39.57 |
|
||||
| 7 | Q2 «редактор под `sexually-explicit`» (grok-4.3 интерим · glm-5 после сверки ToS Z.AI · mistral вон) | владелец | когда-нибудь (перед первой explicit-книгой) | отдельное решение | D39.27 п.7 |
|
||||
| 8 | D22.7 пер-чанковый L3-скрин — неснятое предусловие первой erotica-книги в проде, отдельный гейт | владелец | когда-нибудь | отдельное решение | D22.7, CURRENT-STATE (оркестратор) |
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
| 86 | **Мелкие открытые решения одним списком** (свип D39.66): echo-семантика дропнутого c-lite-члена (D39.18 — оставить pre-c-lite?) · magnitude-кап тяжёлой CJK-утечки (D38.3 п.4в; сейчас strip+flag) · ⚠ дописка 07.09: `internal/lang/data/zh/numeral.txt` отстаёт от эталона `cjk-section.txt` на `〇两兩` — намеренно или недосмотр? Потребитель — канал «числительное + ранг-слово» майнера (research/33 §7.1) | владелец | когда-нибудь | отдельные решения | D39.66, D39.69(feed_cap закрыт §1) |
|
||||
| **— ХВОСТЫ ХОЛОДНОГО ПРОГОНА (исполнен достаточно, D39.58; Р7 владельца) —** | | | | | |
|
||||
| 18 | **Эмиссия головы 蛊**: сид-половина = чек-лист (определяющий терм книги сидится `allow_short`, D39.50); эмиссия-КАНАЛ демотирован до ИЗМЕР-ГЕЙТА (Q7): полигон-замер «меняет ли эмиссия головы рендер композитов» — строить ТОЛЬКО по эффекту и ПОСЛЕ #10 (однознаковый пост-чек чинится чекер-паком); перед стройкой резолвить K-гейт и KWIC-грязь одиночной головы | полигон → бэкенд | скоро (санкция Q7 D39.70 — после #10, очередью с ре-пробой) | полигон-замер → решение | D39.58, D39.60, D39.69 |
|
||||
| 24 | ⚠ **ГЕЙТОМ БОЛЬШЕ НЕ ЯВЛЯЕТСЯ — испр. 05.09 (D39.198 п.5):** прежняя редакция держала «профили голоса НЕ ПОДПИСАНЫ» как предусловие, а владелец подписи снял («зачем мне это подписывать») и вытаскивать черновик из книжного дерева не надо. Голос — приоритет №3 из трёх, то есть работа, а не блокер. **Остаток: авто-режим флага** (проект Б не гонялся) · оси голоса A–D · слот инъекции голоса и решение gates.voice при ненулевых осях (D39.55/D21 п.2) · слой-2 voice не строим до доказательства слоя-1 · сверить until_ch 白凝冰 при курации сида (D19.3в). ⚠ **ОТКРЫТЫЙ ВОПРОС, РОЖДЁННЫЙ СНЯТИЕМ ПОДПИСИ:** реестр профилей (`voices:`/`addresses:` сида) сегодня физически заполняет ТОЛЬКО подпись владельца — `backend/internal/config/seed.go`, греп `no miner emits them`. Если подписи нет, ЗАПОЛНЯЕТ КТО? Ответ нужен раньше стройки: без него строка 13б навсегда «отложено до замера» ⚠ **Испр. 16.09 (`D39.253`):** формулировка «Голос — приоритет №3 из трёх» протухла — владелец 11.09 сказал «Входит», и голос ВХОДИТ в приоритет №1 (D39.248 п.1). Ряд писан по D39.198 п.5 до этого решения; предмет ряда («если подписи нет, ЗАПОЛНЯЕТ КТО?») остаётся открытым.| бэкенд | когда-нибудь | работа третьего приоритета | D39.40, D39.58 |
|
||||
| 24 | ⚠ **ГЕЙТОМ БОЛЬШЕ НЕ ЯВЛЯЕТСЯ — испр. 05.09 (D39.198 п.5):** прежняя редакция держала «профили голоса НЕ ПОДПИСАНЫ» как предусловие, а владелец подписи снял («зачем мне это подписывать») и вытаскивать черновик из книжного дерева не надо. Голос — приоритет №3 из трёх, то есть работа, а не блокер. **Остаток: авто-режим флага** (проект Б не гонялся) · оси голоса A–D · слот инъекции голоса и решение gates.voice при ненулевых осях (D39.55/D21 п.2) · слой-2 voice не строим до доказательства слоя-1 · сверить until_ch 白凝冰 при курации сида (D19.3в). ⚠ **ОТКРЫТЫЙ ВОПРОС, РОЖДЁННЫЙ СНЯТИЕМ ПОДПИСИ:** реестр профилей (`voices:`/`addresses:` сида) сегодня физически заполняет ТОЛЬКО подпись владельца — `backend/internal/config/seed.go`, греп `no miner emits them`. Если подписи нет, ЗАПОЛНЯЕТ КТО? Ответ нужен раньше стройки: без него строка 13б навсегда «отложено до замера» ⚠ **Испр. 16.09 (`D39.253`):** формулировка «Голос — приоритет №3 из трёх» протухла — владелец 11.09 сказал «Входит», и голос ВХОДИТ в приоритет №1 (D39.248 п.1). Ряд писан по D39.198 п.5 до этого решения; предмет ряда («если подписи нет, ЗАПОЛНЯЕТ КТО?») остаётся открытым. ⚠ **16.09 (`D39.254` п.5): владелец сказал СТРОИТЬ**, «продуманно алгоритмически». Вариант «не трогать» снят; ответ на вопрос ряда — производитель в движке, а не ручной посев.| бэкенд | когда-нибудь | работа третьего приоритета | D39.40, D39.58 |
|
||||
| **— ТЕКУЩАЯ ОЧЕРЕДЬ (D39.59) —** | | | | | |
|
||||
| 79 | **Граница ПЛОТНОСТИ письма для серий**: `enabled` через Go-константу `cjkScriptNames` — новый плотный скрипт требует правки Go (head-finality уже в данных script-series.txt; пре-существующая граница, D39.75). Первые два компонента строки (isCyrLetter→`isTargetWordLetter` · magnitude `SourceScripts`-гейт) исполнены пакетом-чекеров, D39.78 | бэкенд | когда-нибудь | следующий пак общности / касание чекеров | D39.64, D39.78 |
|
||||
| 90 | **Ф2-кандидаты 02-mvp-плана без носителя** (свип-хвост, D39.73): CometKiwi/T-index метрики судьи · Batch API судьи (экономия) · llama-server-интеграция локали · стриминг — взять/закрыть при пилот-препе; + H16 самоулучшение (V3-п.2, ПТ-26): дизайн петли по данным судьи — тем же препом | полигон/бэкенд | когда-нибудь (Ф2.5) | пилот-преп-промт (с 85) | 02-mvp-plan, D39.66, D39.73, D39.80 |
|
||||
|
|
@ -67,7 +67,7 @@
|
|||
| 48 | Направленная банкнота — вернуться по замеру покрытия терминолога | бэкенд | когда-нибудь | отдельное решение | D39.42 |
|
||||
| 48а | **Серийный шаринг банка** — РЕАЛИЗАЦИЯ (экспорт подписанного глоссария как сид-YAML следующей книги серии; спойлер-окна плющатся в since_ch=0); контракт round-trip держится тестом, самой фичи нет | бэкенд | когда-нибудь (перед второй книгой серии) | отдельное решение | D39.42 задел (а), PACK20_BANK_BUILD З-а |
|
||||
| 48б | **Импорт «оригинал + чужой перевод» как режим данных терминолога** (target-агностичный вход есть контрактом; сам режим + провенанс источника + юр-сторона в юр-пакете) | бэкенд/владелец | когда-нибудь | отдельное решение + Ф2.5 (юр) | D39.42 задел (б), PACK20_BANK_BUILD З-б |
|
||||
| 130 | **emitRankCap × writeAutoBank — ОСТАТОК после фикс-пака (D39.118):** $0-минимум ИСПОЛНЕН (дифф старого/нового авто-файла + WARN с именами выпавших; само-исключение сырого seed закрыто `unsignedEngineSurfaces` дофиксом приёмки); остаток = накопительный мердж авто-банка / освобождение слотов seed-rejects — СТОП-решение владельца (двигает банк → memory_version); материал для решения даст WARN со ВТОРОГО прогона (§6 п.8 отчёта пака) | владелец → бэкенд | когда-нибудь (гейт: WARN второго прогона) | СТОП-решение | D39.102 п.3, **D39.118** |
|
||||
| 130 | **emitRankCap × writeAutoBank — ОСТАТОК после фикс-пака (D39.118):** $0-минимум ИСПОЛНЕН (дифф старого/нового авто-файла + WARN с именами выпавших; само-исключение сырого seed закрыто `unsignedEngineSurfaces` дофиксом приёмки); остаток = накопительный мердж авто-банка / освобождение слотов seed-rejects — СТОП-решение владельца (двигает банк → memory_version); материал для решения даст WARN со ВТОРОГО прогона (§6 п.8 отчёта пака) ⚠ **16.09, слово владельца «Да» (`D39.254` п.1): решение банка между покупками ДЕРЖИМ.** Предмет ряда близкий, но не тождественный — здесь накопительный мердж авто-банка и слоты seed-rejects; при написании пака пере-проверить, закрывается ли ряд механизмом N-1 целиком.| владелец → бэкенд | когда-нибудь (гейт: WARN второго прогона) | СТОП-решение | D39.102 п.3, **D39.118** |
|
||||
| 131 | **Кап инъекции не считает маркер и гендер-ноты**: `glossaryLineTokens` бюджетирует только «src → dst» (`memory.go:518-521` против рендера `:698-708`) — авто-книга (все строки Ambiguous с ⟨проверить⟩) превышает `glossary_token_budget` ~на 40–60% при budget 800; биллинг/потолки компенсированы (резервация по фактическому рендеру, `stagerun.go:469-477`), сам кап не исполняется. Фикс двигает состав инъекций → RequestHash → перекупка волн ⇒ СТОП-решение с названной ценой. ⚠ После строки 134 (единый блок, маркер снят с провода — D39.104) превышение пере-замерить: состав рендера сменится | бэкенд | когда-нибудь | СТОП-решение | D39.102 п.3 |
|
||||
| 132 | **Стойкий (пост-ретрайный) аутедж ТОЛЬКО банк-провайдера валит весь ран** вопреки коммент-контракту «optional step never aborts» (`terminologist.go:630-634` — деградация только на ceiling; транспортные ретраи гасят transient, `httpllm.go:126-160`; потерь нет — чекпойнты реплеятся за $0): решить — деградировать в «термы неконсолидированы»+WARN либо честно переписать коммент | бэкенд | когда-нибудь | малое касание через СТОП-решение | D39.102 п.3 |
|
||||
| **— ШОВ ДВИЖОК↔ПЛАТФОРМА: деньги и механизмы (D39.106/107 п.2) —** | | | | | |
|
||||
|
|
@ -353,19 +353,21 @@
|
|||
| 432 | **СТЕНД-СТУПЕНЬ ГЕЙТА НЕ МОЖЕТ БЫТЬ ЗЕЛЁНОЙ НА ЭТОМ ХОСТЕ: одному её измерению нужны данные, которые НАМЕРЕННО не версионируются, и после вывода полигона из скоупа их некому доставить.** Замер 11.09 при приёмке: `TM_MINER_PARITY=1 go test -race ./internal/miner/` даёт FAIL с текстом «required data is missing: `eval/exp16/data/jieba_dict_general_zh.txt`» — и в МОЕЙ копии, и в НАСТОЯЩЕМ дереве. Причина названа самим репозиторием: `.gitignore:39` исключает `eval/exp16/data/` с комментарием «exp16 versioned contrast corpus (jieba 0.42.1 dict.txt, 5MB) — SHA pinned in the report, reproducible». ⇒ **это НЕ дефект пака и НЕ дефект дерева**, а дыра провизионирования: флаг `TM_MINER_PARITY=1` по замыслу превращает скип в падение («missing data FAILS instead of skipping»), и на хосте, куда корпус не доставляли, он падает по назначению. ⚠ **Вторая половина хуже первой: владельцем `eval/` был полигон, а зона выведена из скоупа (`D39.248`)** — значит доставлять корпус теперь некому, и ступень будет падать у каждого, кто исполнит рецепт. ⭐ Различать надо ДВА измерения стенда: **корпус разметки** (`books/gu-zhenren/labels`, 6 записей) — на месте, ступень идёт, и именно она защищает прибор консистентности; **контраст майнера** — отсутствует. ⇒ закрытие ряда: либо рецепт доставки корпуса с пинованным SHA в носителе стенда, либо честное объявление «измерение контраста майнера на этом развёртывании не бежит», но не молчаливое красное | бэкенд/оркестратор | **скоро** | рецепт доставки корпуса ЛИБО объявленное отсутствие измерения | приёмка пака консистентности, 11.09 |
|
||||
| 433 | ⛔ **ЛЕКАРСТВО ОТ ДВОЙНОЙ ОПЛАТЫ ПОСТРОЕНО И СТОИТ ВЫКЛЮЧЕННЫМ — и помогает ОДНОМУ случаю из четырёх.** Пак 11.09 закрыл НАБЛЮДАЕМОСТЬ (видно, сколько и на что) и построил ЛЕЧЕНИЕ (ступень усилия ниже при том же бюджете на классе `FlagEmpty`), но ручка `retries.lower_effort_on_empty` лендится с дефолтом `false`: **деньги продолжают течь**, и ничто в дереве этого не остановит, пока ключ не поставят в `true`. ⚠ Дефолт выбран не из робости: включение двигает форму попытки ≥1, а бамп версии политики потолка стоил бы пере-перевода **989 единиц на 24 книгах, $9.99 уже оплаченного** (дедуплицированный замер зоны). ⛔ **И охват уже — из четырёх двойных оплат прогона A лекарство достаёт ОДНУ:** `edit` ($0.071009 = 67 % потери) стоит на `off`, у которого шаг вниз есть; три черновых ($0.035463 = 33 %) уже на `low` — **дне эмитирующей шкалы, и лекарства для них в паке НЕТ**. ⇒ условие включения одно и измеримое: **эхо-контроль ИМЕННО В РЕДАКТОРСКОЙ РОЛИ на плотном CJK, парным дизайном на повторах.** ⚠ Прежняя оценка риска цитировала НЕ ТУ РОЛЬ: «1 чистый китайский выход из 16» — это `flash` как ПЕРЕВОДЧИК, а единственная стадия, которую ручка двигает, — РЕДАКТОР, и квирки прямо говорят, что его эхо-безопасность при `low` на CJK **не мерена**. Ошибку нашёл направленный читатель зоны, не я и не она. ⚠ Вторичный исход того же замера, стоящий $0 сверх прогона: **растёт ли размышление вместе с потолком на `low`** — ровно тот вопрос, который `D39.90` п.9 объявил непроверенным, и он решает, рычаг ли флор | бэкенд/владелец | **скоро** | эхо-контроль в РЕДАКТОРСКОЙ роли на CJK ⇒ ручка в `true`; плюс лечение для дна шкалы | пак «за одну единицу платим дважды», 11.09 |
|
||||
| 434 | ⛔ **ПРИБОР КОНСИСТЕНТНОСТИ НЕ НАХОДИТ ПЕРЕДАЧУ У 26 ТЕРМОВ ИЗ 69 И МОЛЧА СЧИТАЕТ ИХ КОНСИСТЕНТНЫМИ.** Замер оркестратора 11.09 на артефактах прогона A (`~/tm-coldrun-a/evidence/spread.json`, 69 записей; контроль печатает сам прибор: «terms rendered at all: 40, control: terms considered 69»): у **29** термов `renderings={}`, и для **26 из 29** ФИНАЛЬНАЯ форма банка РЕАЛЬНО стоит в отгруженном тексте — `三转` «третий оборот» · `三转蛊师` · `丫头片子` · `五更天` · `仙师` · `侧室` · `十大奇蛊` · `古月一族` · `唐诗宋词` · `四更时` · `宗族祠堂` · `宗祖祠堂` · `开窍` · `怀璧之罪` · `方之一脉` · `方家` · `更夫` · `梆子` · `正派` · `白家寨` · `老嬷嬷` · `话事人` · `邪魔` · `雪盐` · `魔道` · `魔道巨擘`. ⇒ **`spread=0` у них значит «передачи НЕ НАШЁЛ», а читается как «форма одна»**, и итоговая строка «TERMS SHIPPED IN MORE THAN ONE SHAPE: 0» посчитана по 40 термам, а не по 69. ⚠ Матчер ловит СЛОВО, а не форму: у `高脚吊楼` он вернул «Свайные», тогда как текст несёт «свайного дома / свайные дома / свайных домов». ⛔ Это приоритет №1 владельца и ЕДИНСТВЕННЫЙ прибор, который его меряет; сегодня он отвечает за 58 % книги, а отчитывается за 100 %. Носитель разбора — эррата 11.09-з | бэкенд | **скоро** | знаменатель печатается ВСЕГДА («нашёл у M из N»), ненайденные проверяются текстом, а не засчитываются в консистентные; матчер сверяется формой, а не словом | приёмка прогона A, пере-снято 11.09 |
|
||||
| 435 | **ЭСКАЛАЦИЯ НЕ МОЖЕТ ИСПОЛНИТЬСЯ НИ НА ОДНОМ БОЕВОМ КОНФИГЕ — построена, ратифицирована и выключена данными.** `backend/configs/pipeline-c1.yaml:223`=`budget_usd: 0`, и комментарий строкой выше говорит прямо: «budget_usd=0 ⇒ эскалация НЕ исполняется (НИ chains, НИ stage.escalate_to)… **Приёмочная сессия 蛊真人 ОБЯЗАНА выставить budget_usd>0**, иначе echo-эскалация черновика (D18) не выстрелит. Дефолт 0 держит CI/Ф0 зелёными без gemini/mistral-ключей». ⇒ дефолт выбран под ЗЕЛЕНЬ CI, а не под продукт, и требует ручного оверрайда, которого не сделал ни прогон A (его §10 п.2 честно пишет «эскалация не исполнялась ни разу»), ни прогон B (решение оркестратора 11.09: НЕ трогать, чтобы сохранить байт-в-байт тождество покупающего файла A↔B — сравнимость денег дороже одного непроверенного пути). ⛔ Значит путь эскалации не исполнялся живьём ДВА прогона подряд, и его первое живое исполнение стоит отдельного дешёвого замера, а не контаминации сквозного прогона. ⚠ Класс тот же, что у ряда 433: **механизм лендится выключенным, и выключенность живёт в ДАННЫХ, где её не видит ни один гейт** | бэкенд | скоро | адресный $0.03-замер пути эскалации отдельным прогоном ЛИБО решение владельца о боевом дефолте | прогон B, пре-рег 11.09 |
|
||||
| 435 | **ЭСКАЛАЦИЯ НЕ МОЖЕТ ИСПОЛНИТЬСЯ НИ НА ОДНОМ БОЕВОМ КОНФИГЕ — построена, ратифицирована и выключена данными.** `backend/configs/pipeline-c1.yaml:223`=`budget_usd: 0`, и комментарий строкой выше говорит прямо: «budget_usd=0 ⇒ эскалация НЕ исполняется (НИ chains, НИ stage.escalate_to)… **Приёмочная сессия 蛊真人 ОБЯЗАНА выставить budget_usd>0**, иначе echo-эскалация черновика (D18) не выстрелит. Дефолт 0 держит CI/Ф0 зелёными без gemini/mistral-ключей». ⇒ дефолт выбран под ЗЕЛЕНЬ CI, а не под продукт, и требует ручного оверрайда, которого не сделал ни прогон A (его §10 п.2 честно пишет «эскалация не исполнялась ни разу»), ни прогон B (решение оркестратора 11.09: НЕ трогать, чтобы сохранить байт-в-байт тождество покупающего файла A↔B — сравнимость денег дороже одного непроверенного пути). ⛔ Значит путь эскалации не исполнялся живьём ДВА прогона подряд, и его первое живое исполнение стоит отдельного дешёвого замера, а не контаминации сквозного прогона. ⚠ Класс тот же, что у ряда 433: **механизм лендится выключенным, и выключенность живёт в ДАННЫХ, где её не видит ни один гейт** ⚠ **16.09 (`D39.254` п.2):** владелец назвал фоллбек на другую модель ОЖИДАЕМЫМ механизмом банка. ⇒ `budget_usd: 0` перестал быть безобидным умолчанием: для банк-ролей это отсутствие фоллбека вовсе.| бэкенд | скоро | адресный $0.03-замер пути эскалации отдельным прогоном ЛИБО решение владельца о боевом дефолте | прогон B, пре-рег 11.09 |
|
||||
| 436 | ⛔ **ИМЯ ВЕРДИКТА `split` УТВЕРЖДАЕТ БОЛЬШЕ, ЧЕМ МЕРЯЕТ ЕГО ПРЕДИКАТ — и первым же живым прогоном он оболгал подписанное имя героя.** Предикат (`backend/internal/pipeline/bookconsistency.go`, греп `func (v *verdictAcc) observe`) ставит `split`, когда в главе **попаданий МЕНЬШЕ, чем срабатываний** источника, либо не найдено ни одного. Читающий отчёт видит «термин разъехался», а сказано «нашли не каждое срабатывание» — это РАЗНЫЕ утверждения. ⛔ Замер прогона B: вердикт `split` по `方源` во всех трёх главах, тогда как в отгруженном тексте **58 вхождений в четырёх падежах и НОЛЬ конкурирующих транслитераций** (пере-снято оркестратором; голые «Фан» принадлежат другим термам банка — `方正`, `方之一脉`, `方家`, `方老魔`). ⇒ **самая тревожная строка приоритета №1 оказалась артефактом**, и владельцу её понесли бы как расхождение. ⚠ Родня ряду **434** (прибор не находит передачу у 26 термов из 69): вместе они означают, что **числа консистентности прогона B базовой линией НЕ являются до починки** | бэкенд | **скоро** | вердикт зовётся тем, что утверждает («не каждое срабатывание покрыто»), либо предикат усиливается до настоящего разъезда; падеж не считается второй передачей | прогон B, акт `D39.252` п.3 |
|
||||
| 437 | **САМАЯ КРУПНАЯ ХУДОЖЕСТВЕННАЯ ПОТЕРЯ ПРОГОНА ИЗМЕРИМА ОДНИМ ВЫЧИТАНИЕМ, КОТОРОГО НИКТО НЕ ДЕЛАЕТ.** Замер оркестратора на прогоне B: абзацев в оригинале **233**, в отгруженном переводе **162** — сжатие **−30 %** (контроль: 9021 знак оригинала против 30 283 перевода). Движок печатает `sentences/narrative-paragraph` и знает число абзацев только В ПЕРЕВОДЕ; числа абзацев ИСХОДНИКА у него нет, поэтому порога нет и флага нет. ⚠ Для ранобэ, где абзац — единица ритма и реплики, схлопывание трёх абзацев в один меняет темп сильнее, чем любая лексическая правка, и читатель это чувствует раньше, чем термины. ⇒ дешевле всех прочих приборов качества: две величины и одно деление | бэкенд | скоро | счёт абзацев ИСХОДНИКА рядом со счётом перевода + порог, при котором сжатие флагуется | прогон B, акт `D39.252` п.5 |
|
||||
| 438 | ⛔ **БАНК-РОЛИ ИДУТ МИМО ОБЕИХ ВЕТВЕЙ ЛЕЧЕНИЯ: у черновой стадии лекарство есть, у терминолога нет ни лекарства, ни счётчика.** Обе ветви живут в цикле `runStage` (`backend/internal/pipeline/stagerun.go`, греп `regenerating with less thinking` и `regenerating with a larger budget`), а `terminologist.go` (греп `return r.runAttempt`) зовёт попытку НАПРЯМУЮ. ⛔ Замер прогона B: на попытке 1 классификатор дал `asked=22 answered=4` (`length`, $0.012646) и `asked=24 answered=0` (`empty`, $0.012133) — **42 терма из 66 без машинного типа, оба провальных батча ОПЛАЧЕНЫ, регенерации не было**; у черновой стадии та же мина вылечена 5 раз из 5. ⚠ **Это СТОХАСТИКА, а не регрессия** (сказала сама зона): на резюме тот же классификатор ответил 22/22 · 19/19 · 24/24, у прогона A все три батча чисты. ⚠ И вторая половина — НАБЛЮДАЕМОСТЬ: итоговая строка печатает `classify_batches_dropped=0 unanswered=0`, и это не ложь, а ОТСУТСТВИЕ — счётчик считает батчи, выброшенные БЮДЖЕТОМ (комментарий `terminologist.go` сам предупреждает, что «unanswered читается как вердикт о ТЕРМАХ, когда он отчасти вердикт о ДЕНЬГАХ»), а счётчика доли ОТВЕТОВ нет ни одного; единственный носитель факта — WARN посреди прохода | бэкенд | **скоро** | банк-роль получает ту же ветвь регенерации, что черновая стадия, ПЛЮС счётчик доли ответов в итоговой строке | прогон B, акт `D39.252` п.9 |
|
||||
| 438 | ⛔ **БАНК-РОЛИ ИДУТ МИМО ОБЕИХ ВЕТВЕЙ ЛЕЧЕНИЯ: у черновой стадии лекарство есть, у терминолога нет ни лекарства, ни счётчика.** Обе ветви живут в цикле `runStage` (`backend/internal/pipeline/stagerun.go`, греп `regenerating with less thinking` и `regenerating with a larger budget`), а `terminologist.go` (греп `return r.runAttempt`) зовёт попытку НАПРЯМУЮ. ⛔ Замер прогона B: на попытке 1 классификатор дал `asked=22 answered=4` (`length`, $0.012646) и `asked=24 answered=0` (`empty`, $0.012133) — **42 терма из 66 без машинного типа, оба провальных батча ОПЛАЧЕНЫ, регенерации не было**; у черновой стадии та же мина вылечена 5 раз из 5. ⚠ **Это СТОХАСТИКА, а не регрессия** (сказала сама зона): на резюме тот же классификатор ответил 22/22 · 19/19 · 24/24, у прогона A все три батча чисты. ⚠ И вторая половина — НАБЛЮДАЕМОСТЬ: итоговая строка печатает `classify_batches_dropped=0 unanswered=0`, и это не ложь, а ОТСУТСТВИЕ — счётчик считает батчи, выброшенные БЮДЖЕТОМ (комментарий `terminologist.go` сам предупреждает, что «unanswered читается как вердикт о ТЕРМАХ, когда он отчасти вердикт о ДЕНЬГАХ»), а счётчика доли ОТВЕТОВ нет ни одного; единственный носитель факта — WARN посреди прохода ⚠ **16.09 (`D39.254` п.2):** владелец ожидает у банк-ролей ретрай и отдельный переспрос как штатный механизм, а не как улучшение. Предмет входит в первый банк-пак вместе с N-1.| бэкенд | **скоро** | банк-роль получает ту же ветвь регенерации, что черновая стадия, ПЛЮС счётчик доли ответов в итоговой строке | прогон B, акт `D39.252` п.9 |
|
||||
| 439 | ⛔⛔ **БАНК КНИГИ НЕДЕТЕРМИНИРОВАН ПО ПОСТРОЕНИЮ: он есть функция ЧЕРНОВИКА, а черновик — стохастический выход модели.** Замер сессии прогона B, пере-снятый оркестратором СВОИМ запросом и сошедшийся дословно: `retrieval_state.banknote_detail` двух прогонов на ОДНИХ И ТЕХ ЖЕ шести чанках, побайтно один исходник (sha среза сверена) и тождественный покупающий конфиг (sha `pipeline-c1.yaml` совпал) — предложений **A 98 · B 93 · общих 74 ⇒ ЖАККАР 0.63**. ⛔ **Расходится не только СОСТАВ, но и ГРАНУЛЯРНОСТЬ ключа:** на `ch3/1` прогон A предлагает СОСТАВНЫЕ (`丙等资质` · `族长家老` · `舅父舅母`), а B — их СОСТАВЛЯЮЩИЕ (`丙等` · `资质` · `族长` · `家老` · `舅母` · `舅父`); на `ch2/0` предложение B — строгое ПОДМНОЖЕСТВО A, беднее на восемь. Отсюда же исчезновение `舅父舅母`, которое встречается в исходнике **14 раз** и есть в банке A при отсутствии в B — частотным порогом это не объясняется. ⛔ **СЛЕДСТВИЕ СТАРШЕ РЯДА 436: консистентность мерится ПО СТРОКАМ БАНКА, а строки между прогонами разные ⇒ у `I1`/`I2` двух прогонов РАЗНЫЕ ЗНАМЕНАТЕЛИ, и они несравнимы не потому, что прибор плох, а по построению.** ⚠ И это прямо задевает цель 6 («воспроизводимый прогон — повторение без сюрпризов»): снапшот и голден стерегут ВХОД, а состав банка в них не заперт. ⚠ Границы замера названы сессией: одна книга, три главы, шесть чанков, ОДНА пара прогонов — установлен РОД расхождения (состав + гранулярность), не его обычная величина; как из предложений собирается финальный банк, не читал никто ⛔ **ПОСЫЛКА «ТОЖДЕСТВЕННЫЕ ВХОДЫ» НЕВЕРНА, снято 12.09 опровергателем и пере-проверено оркестратором.** Совпадение sha `pipeline-c1.yaml` было выдано за тождество входов: `diff -rq` двух фриз-деревьев даёт **52 расходящихся пути** (`chunkrun.go`, `stagerun.go`, `waverun.go`, `disposition.go`, `quality.go`, стеммер), и снапшоты РАЗНЫЕ (`cfd53cc0…` против `fef36e1d…`). ⚠ **Что при этом устояло и держит вывод:** `internal/miner` и `internal/terminology` между фризами **побайтно идентичны** (0 различий), langpack идентичен, `bankParseVersion` совпал, диф `models.yaml` — только комментарии. ⇒ **детерминированная половина не двигалась, двигалась ЧЕРНОВАЯ сторона — а она и производит банкноты.** ⛔ Но ДОЛЯ расхождения, приходящаяся именно на температуру, ЭТОЙ парой прогонов не измерена и измерима быть не может: нужен повтор на ОДНОМ движке, и такого прогона нет. ⚠ И метод числа назвать обязательно: 0.63 — это сумма ПОЧАНКОВЫХ пересечений (74 из 98+93−74); книго-уровневые множества дают 53 из 82 = **0.65**. Вывод переживает оба, число без метода — нет | бэкенд | **скоро** | состав банка воспроизводим при повторе прогона ЛИБО названо и ратифицировано, что банк стохастичен, и тогда числа консистентности сравниваются только ВНУТРИ прогона | прогон B, дописка 12.09 |
|
||||
| 440 | ⛔ **МАЙНЕР ОТСЕКАЕТ ЦЕНТРАЛЬНЫЕ ТЕРМИНЫ КНИГИ ПО ПОСТРОЕНИЮ, А НЕ ПО ПОРОГУ — и это несовпадение ДВУХ РАЗНЫХ ВОПРОСОВ.** Формулировка сессии прогона B, принята дословно: **контраст спрашивает «характерно ли слово для ЭТОГО текста на фоне китайского вообще», а продукт спрашивает «нужна ли слову ОДНА закреплённая передача на всю книгу».** Для `家族` ответ на первый — НЕТ, на второй — ДА. Замер (контроль напечатан: словарь-контраст jieba 0.42.1, **349 046 строк**): `家族` · `族` · `炼制` · `楼阁` · `先机` · `老妈子` — **ЕСТЬ в словаре-контрасте и потому НЕТ в банке ни одного из двух прогонов**, тогда как `方源` · `古月山寨` · `丫头片子` · `怀璧之罪` в словаре отсутствуют и в банк попали. ⇒ **шесть из восьми терминов, на которых читатель поймал разнобой, отсечены ПОТОМУ ЧТО ОНИ ОБЫЧНЫЕ КИТАЙСКИЕ СЛОВА.** ⛔ Цена названа текстом: `族` встречается в срезе **29 раз**, `家族` — **9**, и «род ↔ клан» есть КРУПНЕЙШАЯ находка приоритета №1 за оба прогона. ⚠ Лечится в ПОЛНОТЕ МАЙНИНГА, а не в гейте: энфорсер не молчал — ему не о чем было говорить ⛔⛔ **ПРИЧИННОСТЬ ЭТОГО РЯДА ОПРОВЕРГНУТА 12.09 ЧТЕНИЕМ КОДА — механизм НЕ контраст.** `backend/internal/miner/miner_emit.go`, функция `emissionEligible`: **первым** стоит `if !hasAnyType(c.Types, "name", "place", "title") { return false }`, **вторым** — `if c.Freq < emitMinFreq \|\| subsumed[c.Src] \|\| runeLen(c.Src) < 2`. ⇒ **`族` отсечён БЕЗУСЛОВНО как ОДНОРУННЫЙ**, к контрасту это отношения не имеет; **`家族` отсечён ТИПОМ** — у него 2 руны и freq 9 при `emitMinFreq` 5, то есть он проходит всё, на что ряд указывал, и падает на том, о чём ряд молчал. ⭐ **И настоящая находка ШИРЕ прежней: детерминированный канал по построению эмитирует ТОЛЬКО `name\|place\|title`.** Обычное существительное, несущее в книге (`家族` «род/клан», `炼制` «выплавить»), не может войти в банк этим каналом НИКОГДА — сколько бы раз оно ни встретилось. Это же объясняет, почему строк с провенансом `mined`-без-банкноты **ноль в обоих прогонах**: тип-фильтр так узок, что всё им пропущенное черновик называет и так. ⚠ Прежняя формулировка («ЕСТЬ в словаре-контрасте и ПОТОМУ НЕТ в банке») выдавала корреляцию 6 из 8 за механизм — класс назван и в `CLAUDE.md`. Нашёл опровергатель промта, пере-проверено оркестратором чтением функции | бэкенд | **скоро** | решение владельца: имеет ли право обычное существительное входить в банк детерминированным каналом, и если да — каким признаком, кроме типа | прогон B, §18.1(а) + дописка 12.09 |
|
||||
| 441 | **Громкий гейт: банк включён, а у цели НЕТ текстов инъекции.** Сегодня это молчание при потраченных деньгах банк-ролей: рендер закона гейтится `HasData()` (`backend/internal/membank/memory.go:746`, `:842`), в `injection.txt` 8 строк данных, все `ru`, и на любой другой цели оба банк-блока рендерятся в 0 байт (замерено `research/34`). Гейт ставится там же, где построенный образец, — до первого платного вызова | бэкенд | скоро | гейт + пин | `research/35` N-4 |
|
||||
| 442 | Комментарий `backend/internal/pipeline/volume.go:341` обещает «stops loudly», а без `--resnapshot`, пока в книге есть новые юниты, покупка проходит без ошибки (исполнено на $0-стабе) | бэкенд | когда-нибудь | правка комментария под поведение | `research/35`, K1-3 |
|
||||
| 443 | Устаревшие комментарии банкового контура: `miner_emit.go:224-227`, `terminologist.go:33`, справка `--verify-bank`, `mining.go:212-213`, `memory.go:819-822`, заголовок `injection.txt:6` про снятую пометку ⟨проверить⟩ | бэкенд | когда-нибудь | сверка комментариев с поведением | `research/35` Б-3 |
|
||||
| 444 | **Ложная атрибуция в коде:** `backend/internal/membank/memory.go:947` пишет «a masculine default when unavoidable, D19.3», а в теле D19 п.3(в) этого нет; D5 п.1 говорит обратное — «не дефолтить в мужской». ⚠ `internal/terminology/classify.go:43` НЕ чинить: там D19.3 пересказан верно. Едет вместе с нотой о том, что делать при невозможной безродовой форме | бэкенд | скоро | правка атрибуции после ноты | `research/35` Б-4, G-1 |
|
||||
| 444 | **Ложная атрибуция в коде:** `backend/internal/membank/memory.go:947` пишет «a masculine default when unavoidable, D19.3», а в теле D19 п.3(в) этого нет; D5 п.1 говорит обратное — «не дефолтить в мужской». ⚠ `internal/terminology/classify.go:43` НЕ чинить: там D19.3 пересказан верно. Едет вместе с нотой о том, что делать при невозможной безродовой форме ⚠ **16.09 (`D39.254` п.3):** владелец решил, что делать при невозможной безродовой форме — перестроить фразу, а если литературно не выходит, писать как лучше читается. ⇒ правится и текст данных `injection.txt:12`, не только атрибуция.| бэкенд | скоро | правка атрибуции после ноты | `research/35` Б-4, G-1 |
|
||||
| 445 | **Отказ терминолога прозой становится передачей и едет редактору законом.** Неотвеченными считать и `dst` без букв, и отказную фразу (`家族 → «не термин»`, `族长 → «90»` — исполнено). ⚠ Не гигиена, а поведенческая правка на денежном пути: меняет содержимое банка, а с ним `memory_version` и пере-редактуру под согласием. Популяция на A/B нулевая (0 из 69 и 0 из 66 при контроле 69/69 и 66/66), на длинной книге у бюджетного потолка — нет | бэкенд | скоро | разбор ответа роли + пин; решение владельца по В2 | `research/35` Б-5, П3 |
|
||||
| 446 | **Свёртки написания исходника — из ядра в данные языка, ЦЕЛИКОМ.** `trad2simp` плюс арифметика каны, схема замен целевой орфографии вместо литерала ё→е (ряд 14). Правило «пустой реестр — инертный no-op», образцы построены (`family-morphology.txt`, `stemmer.go`). ⚠ Цена одна в любой плоскости: версия свёрток входит в `NormVersion`, а он — в тег нарезки и ключ манифеста ⇒ только в окне перекроя глав | бэкенд | когда-нибудь (окно перекроя, ряд 161) | вынос данных + пере-снапшот | `research/35` Б-6, П8 |
|
||||
| 447 | Подписанный `古月山寨` во втором проходе снова спрашивается у терминолога и оплачивается: вид держит слово владельца, счёт — нет | бэкенд | скоро | фильтр подписанных до платного вызова | `research/35` Б-7, K1 |
|
||||
| 448 | Предупреждение «This is a ONE-TIME cost; every later run replays for $0» (`terminologist.go:498`) после N-1 станет лгать: «часть решена, часть оплачена» будет обычным состоянием КАЖДОЙ покупки. Пере-формулировать и запинить текст; гарантия образца держится на безусловности фильтра (`:1166-1167`) — брать вместе с ней | бэкенд | когда-нибудь (вместе с паком N-1) | правка текста + пин | `research/35` Б-8 |
|
||||
| 449 | **Стратифицированный отбор окон KWIC — новая стройка, сегодня его нет вовсе** (контроль: `stratif` — 0 совпадений при 48 не-тестовых Go-файлах `internal/terminology` и `internal/pipeline`; `AttachKWIC` берёт первые `maxPer` «in (chapter, chunk, offset) order»). Предусловие — ответ владельца на В4 `research/35`; без него арм «стратифицированная выборка» в замере M4 неисполним. Алгоритм язык-агностичен по построению | бэкенд | когда-нибудь (гейт: ответ владельца по В4) | стройка отбора + замер M4 | `research/35` Б-11 |
|
||||
| 450 | `kwic_per_term` / `kwic_width` — уже пар-данные и уже построены (`langpack.go:744-774`, fail-loud), ратифицировано D39.51, заленджено D39.53, **но не заполнены ни для одной пары**: файлов в `configs/langpacks` 16, задают эти ключи 0. При первой не-CJK паре заполнить, а не полагаться на умолчание 3×40 | бэкенд | когда-нибудь (при первой не-CJK паре) | заполнение пар-данных | `research/35` Б-9 |
|
||||
| 449 | **Стратифицированный отбор окон KWIC — новая стройка, сегодня его нет вовсе** (контроль: `stratif` — 0 совпадений при 48 не-тестовых Go-файлах `internal/terminology` и `internal/pipeline`; `AttachKWIC` берёт первые `maxPer` «in (chapter, chunk, offset) order»). Предусловие — ответ владельца на В4 `research/35`; без него арм «стратифицированная выборка» в замере M4 неисполним. Алгоритм язык-агностичен по построению ⚠ **16.09: владелец ответил «Да»** (`D39.254` п.4) — предусловие снято. Порядок: замер M4 (санкция дана), затем стройка отбора.| бэкенд | когда-нибудь (гейт: ответ владельца по В4) | стройка отбора + замер M4 | `research/35` Б-11 |
|
||||
| 450 | `kwic_per_term` / `kwic_width` — уже пар-данные и уже построены (`langpack.go:744-774`, fail-loud), ратифицировано D39.51, заленджено D39.53, **но не заполнены ни для одной пары**: файлов в `configs/langpacks` 16, задают эти ключи 0. При первой не-CJK паре заполнить, а не полагаться на умолчание 3×40 | бэкенд | когда-нибудь (при первой не-CJK паре) | заполнение пар-данных | `research/35` Б-9 |
|
||||
| 451 | **«УМНЫЙ УЧАСТОК» В ТОЧКЕ БАНКА — дизайн по слову владельца 16.09** (`D39.254` п.2): у банк-ролей нет ни ретрая, ни фоллбека, и владелец считает это дырой, а не отсутствием улучшения. Собрать в один предмет: регенерация банк-роли той же ветвью, что у черновой стадии (ряд 438) · включение эскалации на другую модель (ряд 435) · отдельный переспрос нерешённой строки · детерминированный ансамбль признаков и рецензент другого семейства на спорных кластерах (остаток ряда 5). ⛔ Границы ратифицированного: равноправный совет моделей, кросс-модельные веса, self-consistency и селекция из вариантов закрыты D39.102 п.2 замером (`research/24`: потолок 17/45, у 22 промахов из 27 верного `dst` в вариантах нет вовсе) — либо проект живёт в этих границах, либо владелец снимает закрытие явно | бэкенд | скоро (слово владельца) | дизайн-пак, затем стройка | `D39.254` п.2, `research/35` |
|
||||
| 452 | **ГОЛОС И ОБРАЩЕНИЯ ты↔вы — СТРОИТЬ (слово владельца 16.09,** `D39.254` п.5**).** Сегодня построена схема с окнами в трёх таблицах, детектор утечки есть, а записей нет: производителя нет вовсе («no miner emits them», `backend/internal/seed/seed.go:24`), подача выключена константой (`bankmaterialize.go:295`). Владелец просит алгоритмически продуманного производителя, а не ручной посев. Предусловие — размеченный набор переходов, которого нет; провод включать только в окне перекроя и только при непустом реестре, иначе включение купит ноль, неотличимый от чистоты | бэкенд | скоро (слово владельца) | производитель + данные + провод в окне перекроя | `D39.254` п.5, ряд 24 |
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
| 7 | ~~полигон~~ | ⛔ **ЗОНА ВНЕ СКОУПА — слово владельца 11.09**; четыре промта уведены в `archive/prompts/` с баннерами | — | снято |
|
||||
| 8 | **бэкенд/деньги** | ⛔ **«ПАДЕНИЕ, КОТОРОЕ ВИДНО»** — четверть COGS в одном механизме (**415**), слепые приборы отказа (**414**, **422**), молчащая подстановка цены. ⚠ Пин цены **413** из пака ВЫНУТ: это данные и отдельное решение | пак, $0 | ✅ **ЗАКРЫТ АКТОМ `D39.251`** (испр. 15.09; дальше — запись 11.09) · ✍️ **НАПИСАН 11.09** — `BACKEND_FAILURE_YOU_CAN_SEE_SESSION_PROMPT.md`; выдаётся СВЕЖЕЙ сессии сразу по закрытии 4 ⛔ **КРИТЕРИЙ ПРИЁМКИ ПАКА — МЕХАНИЗМ, А НЕ ПРОПОРЦИЯ** (поправка старшего коллеги 11.09): лекарство есть распространение ратифицированного образца `D2` п.3 на вторую причину, и оно верно при 25 % и при 5 % — пропорция задаёт очерёдность, не форму. ⇒ судить по строкам «ни одного удвоения без вердикта о вырождении; каждая выброшенная попытка — строкой леджера с причиной», а не по «с 25.4 % до X». Значит прогон B пак не гейтит и паком не гейтится.|
|
||||
| 9 | **платформа+бэкенд** | ⭐ **ХОЛОДНЫЙ ПРОГОН B — платформа → бэкенд → файл, ВТОРОЙ раз.** Уточнение владельца 11.09: спрашивая «перепрогоны нужны», он имел в виду именно сквозной прогон, а не пере-запуск тестов. Покупает ЧЕТЫРЕ вещи, которых нет ни у кого: **(1)** миграция **v17** (`wave_selection`) пака консистентности ни разу не шла на живом прогоне — только в тестах; **(2)** прибор консистентности впервые даст числа с ЖИВОГО прогона, а не с пере-скана сохранённой базы прогона A — сегодня все `I1`/`I2` получены повторным чтением одних и тех же данных; **(3)** платформенный пак (идемпотентный резюм, терминальное состояние) проверяется сквозь, а не юнитами; **(4)** ⛔ **вторая точка по денежной дыре, и она нужна по норме, а не для красоты** — весь довод «четверть денег купила пустоту» стоит на ЧЕТЫРЁХ одиночных розыгрышах, а квирки §3д прямо говорят: смета DeepSeek с одиночного вызова может ошибиться на порядок, сметы строятся на ПОВТОРАХ. ⇒ у числа 25.4 % есть знак и нет величины, пока прогон не повторён. **Цена ≈$0.42 по образцу прогона A, машинный кап ≈$2.5.** ⛔ **ПРЕ-РЕГИСТРАЦИЯ ЗНАМЕНАТЕЛЯ, иначе B ответит числом на другой вопрос** (поправка старшего коллеги 11.09): B — ЕЩЁ ОДИН одиночный прогон, и две точки распределением не станут. Настоящая ценность B не «вторая точка к 25.4 %», а `request_log` ВСЕХ единиц прогона ⇒ **доля выброшенных первых попыток ПО ЕДИНИЦАМ, а не по вызовам.** Это и пре-регистрируется. ⚠ И идёт B **ПАРАЛЛЕЛЬНО** паку о падениях, а не после: они в РАЗНЫХ слотах (бэкенд против платформы), и правило «один промт на зону» их не сталкивает | ≈$0.42 | ✅ **ЗАКРЫТ АКТОМ `D39.252`**, факт $0.396657 |
|
||||
| 10 | **бэкенд** | ⛔ **БАНК: РЕШЁННОЕ ОСТАЁТСЯ РЕШЁННЫМ** — предмет пере-определён проверкой 15.09. Пак 12.09 «в банк по разнобою» (`BACKEND_WHAT_THE_BANK_IS_MADE_OF_SESSION_PROMPT.md`) снят баннером: все термы со `spread ≥ 2` уже в банке (A 9 из 9, B 8 из 8). Настоящий дефект приоритета №1 — пере-решение банка терминологом: на подписи замерено (у неподписанных строк сменились передачи A 12 из 69, B 14 из 66), на каждой следующей покупке глав выведено из кода — отгруженные главы по порядку слотов остаются со старыми передачами (`backend/internal/pipeline/volume.go`, греп `DELIVERY BEFORE REWORK`). Ряды 130 · 330 · 438 · 440 | $0 + центы перекупки банк-ролей | ⛔ **ПРОЕКТ ОРКЕСТРАТОРА ОТОЗВАН 15.09.** «Банк — журнал решений с окнами» (две редакции Fable 5) расходился с 12 пунктами решённого, замеренного и этого же плана и опирался примерно на десятую часть относящегося; улики — `archive/reports/BANK_CONSILIUM_INPUTS_2026-09-15/`. ✅ **КОНСИЛИУМ ОТРАБОТАЛ, акт `D39.253` (16.09).** Итог — `research/35-bank-memory-consilium.md`: банк как решение по уликам с пятью событиями пересмотра, N-1 на построенном фильтре, N-3 на сборке вида, ряды бэклога 441–450. ⏳ Дальше ждёт СЛОВА ВЛАДЕЛЬЦА по пяти вопросам §6 итога и слота бэкенда под пак 1. Вопросы владельцу, в том числе ряд 130 (`research/34` §4 п.4), ставит его итог; он же решает порядок относительно 5(в). Довод «перекрой глав без якоря пере-решил бы банк платной книги» остаётся входом |
|
||||
| 10 | **бэкенд** | ⛔ **БАНК: РЕШЁННОЕ ОСТАЁТСЯ РЕШЁННЫМ** — предмет пере-определён проверкой 15.09. Пак 12.09 «в банк по разнобою» (`BACKEND_WHAT_THE_BANK_IS_MADE_OF_SESSION_PROMPT.md`) снят баннером: все термы со `spread ≥ 2` уже в банке (A 9 из 9, B 8 из 8). Настоящий дефект приоритета №1 — пере-решение банка терминологом: на подписи замерено (у неподписанных строк сменились передачи A 12 из 69, B 14 из 66), на каждой следующей покупке глав выведено из кода — отгруженные главы по порядку слотов остаются со старыми передачами (`backend/internal/pipeline/volume.go`, греп `DELIVERY BEFORE REWORK`). Ряды 130 · 330 · 438 · 440 | $0 + центы перекупки банк-ролей | ⛔ **ПРОЕКТ ОРКЕСТРАТОРА ОТОЗВАН 15.09.** «Банк — журнал решений с окнами» (две редакции Fable 5) расходился с 12 пунктами решённого, замеренного и этого же плана и опирался примерно на десятую часть относящегося; улики — `archive/reports/BANK_CONSILIUM_INPUTS_2026-09-15/`. ✅ **КОНСИЛИУМ ОТРАБОТАЛ, акт `D39.253` (16.09).** Итог — `research/35-bank-memory-consilium.md`: банк как решение по уликам с пятью событиями пересмотра, N-1 на построенном фильтре, N-3 на сборке вида, ряды бэклога 441–450. ✅ **СЛОВО ВЛАДЕЛЬЦА ПОЛУЧЕНО 16.09** (`D39.254`): держать решение между покупками — да · при невозможной безродовой форме — перестроить фразу, иначе «как лучше читается» · богаче контекст — да, меру решает замер M4 · голос и ты↔вы — строить. ⚠ **Вопрос об отказе терминолога ПЕРЕ-ОПРЕДЕЛЁН владельцем:** у банк-ролей нет ни ретрая, ни фоллбека (ряды 435, 438), и он считает это дырой ⇒ заведён ряд 451 «умный участок в точке банка», ряд 452 — голос. ⏳ Осталось: слово владельца о границах ратифицированного закрытия совета моделей (D39.102 п.2) и слот бэкенда под пак 1. Вопросы владельцу, в том числе ряд 130 (`research/34` §4 п.4), ставит его итог; он же решает порядок относительно 5(в). Довод «перекрой глав без якоря пере-решил бы банк платной книги» остаётся входом |
|
||||
|
||||
⛔ **ПОЧЕМУ 4 ВСТАЛ ПЕРЕД 5 (решение 11.09 по мерилу владельца).** Мерило — «качественный КОНСИСТЕНТНЫЙ
|
||||
перевод длинных книг». Аудит банка 11.09 показал, что **книжного вопроса о консистентности не задаёт ни один
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Реестр D-нот — карта актуальности v2 (D1–D39.253; титул — носитель головы, бампать при каждом аппенде)
|
||||
# Реестр D-нот — карта актуальности v2 (D1–D39.254; титул — носитель головы, бампать при каждом аппенде)
|
||||
|
||||
> ⚠ **Колонку «тело» `counts.py --check` НЕ сторожит по устройству:** он сверяет полноту НОМЕРОВ, а не
|
||||
> место тела, поэтому колонка держится дисциплиной лендинга. Не нашёл тело по колонке — иди в слайсы,
|
||||
|
|
@ -312,3 +312,4 @@
|
|||
| D39.251 | 11.09 | **АКТ: бэкенд-пак «ЗА ОДНУ ЕДИНИЦУ ПЛАТИМ ДВАЖДЫ» ПРИНЯТ С ДОФИКСОМ** (22 пути +947/−66, 8 новых тестовых, +27/−0 тестов, $0). ⭐ Наблюдаемость двойной оплаты построена, **лекарство лендится ВЫКЛЮЧЕННЫМ** и достаёт 1 случай из 4 — сказано словом зоны до приёмки. ⛔ **Посылка пака была перевёрнута, и сняла её зона ДО первой правки:** `empty` ×3 = $0.094835 = 89 % против `length` ×1 = $0.011637; `off` у ReasoningNone — ВЕРХ шкалы. ⛔ `reasoning_tokens` ронял НАШ адаптер (провайдер шлёт 35 из 35). Приёмка: «лендинг инертен» было обещанием, а не свойством (посадка в 4 конфига — батарея зелена); ни одна из 22 мутаций не была помечена `battery`. Числа мои: 23 пакета · 19 ok · 0 FAIL · vet 4 · lint 0 · gofmt 0 · мутации **195 RED / 1 выжившая / 0 неизмеренных**, якорей 0 из 407; деньги — двумя независимыми путями по сырому леджеру, $0.106472 = 25.4 %. ⛔ Выжившая — ЧУЖАЯ и краснеет по удаче (8/8 на дереве против **7/8** на посадке) ⇒ первое число ряду **379(б)** | бэкенд/приёмка |
|
||||
| D39.252 | 11.09 | **АКТ: СКВОЗНОЙ ПРОГОН B ПРИНЯТ** — книга второй раз от двери до ФАЙЛА, факт **$0.396657** при ожидании ≈$0.42 (санкция владельца «разрешаю» получена ДО траты). ⭐ **Две меры денежной дыры разошлись в РАЗНЫЕ стороны на одних данных:** по ЕДИНИЦАМ 23.5 %→**41.2 %**, по ДЕНЬГАМ 25.4 %→**21.1 %**; первичной объявлена замороженная пре-регом мера по единицам. ⭐ **85.7 % оплаченного выхода книги — РАЗМЫШЛЕНИЕ, а не текст** (153 942 из 179 613; у 5 из 7 выброшенных потолок съеден целиком) ⇒ ряд 422 закрыт числом. ⛔ **Прибор приоритета №1 солгал на первом живом прогоне:** вердикт `split` по подписанному имени героя при 58 вхождениях в 4 падежах и НУЛЕ конкурентов — имя вердикта утверждает больше, чем меряет предикат ⇒ числа консистентности B базовой линией НЕ являются. ⭐ Качество впервые судилось по ОРИГИНАЛУ рядом с переводом: 26 находок (1 крит — подмена референта, пере-проверен мною), адъюдикация цитат 10/10, три числа читателя исправлены. Скаляр оценки — ЦИТАТОЙ с четырьмя границами, не ратификацией. Ряды 434, 436, 437, 438 | полигон/приёмка |
|
||||
| D39.253 | 16.09 | **АКТ: КОНСИЛИУМ «БАНК ПАМЯТИ ДЛИННОЙ КНИГИ» ПРИНЯТ С ДОФИКСОМ И ОСТАТКОМ.** Решение банка выработано советом девяти агентов (три проекта разных углов и моделей, пять ролей совета, судья другой моделью); сдано по правилу остановки — три круга 2·21·34 → 0·16·17 → 1·7·13. Приёмка оркестратора — пять осей вне консилиума, 50 находок (14 мажоров): деньги 24/24 и эмпирическое ядро 14/14 сошлись, противоречий ратифицированному нет, выдумок в цитатах нет. ⭐ Совет нашёл то, мимо чего прошли оба отозванных проекта: ратифицированный ответ на смену пола (D5 п.1, D7 правка 1, D19 п.3(в)) и что ответ на растущую книгу лежит в ВЫБОРКЕ улик, а не в новом событии. ⛔ Остаток назван: правки круга 3 судила приёмка, а не консилиум; 20 из 164 якорей поедут с лендингом бэкенд-сдачи | ЖИВОЕ: пак принят, Д-1…Д-18 в очереди оркестратора, ряды 441–450 заведены | жив | банк |
|
||||
| D39.254 | 16.09 | **РЕШЕНИЯ ВЛАДЕЛЬЦА ПО ПЯТИ ВОПРОСАМ КОНСИЛИУМА 35.** (1) Держать решение банка между покупками — ДА (ряд 130 закрыт в этой части). (2) ⚠ Отказ терминолога ПЕРЕ-ОПРЕДЕЛЁН: «фоллбек на другую модель или переспросить… банк памяти — максимально умный участок»; по факту у банк-ролей нет ни ретрая, ни регенерации (ряд 438), эскалация выключена нулём (ряд 435) ⇒ выбор (а)/(б) снят как преждевременный. Граница: совет МОДЕЛЕЙ закрыт D39.102 п.2 замером, открыты детерминированный ансамбль и рецензент на спорных кластерах (остаток ряда 5). (3) При невозможной безродовой форме — перестроить фразу, иначе «как лучше читается»; адресность уже построена, меняется текст `injection.txt:12`. (4) Богаче контекст — ДА, величина решается замером M4. (5) Голос и ты↔вы — СТРОИТЬ, «продуманно алгоритмически»; вариант «не трогать» отменён | ЖИВОЕ: несущее для банк-паков | жив | банк владелец |
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Журнал решений оркестратора — контракт D1–D39.253 (живой файл: карта · эрраты · живые тела · голова D39.124+ (подрезка D39.139); тела закрытых эр — в слайсах `docs/archive/architecture/`, указатель ниже; реестр всех нот — `05-decisions-index.md`)
|
||||
# Журнал решений оркестратора — контракт D1–D39.254 (живой файл: карта · эрраты · живые тела · голова D39.124+ (подрезка D39.139); тела закрытых эр — в слайсах `docs/archive/architecture/`, указатель ниже; реестр всех нот — `05-decisions-index.md`)
|
||||
|
||||
> **⟶ КАРТА АКТУАЛЬНОСТИ (ревизия D31, продлена до D38.2 [12.07]; исторические записи ниже НЕ переписываются — дисциплина D23.3).** Работая с контрактом (греп номера: живой файл → слайсы, целиком НЕ читать — D39.125), держи под рукой, что чем перекрыто:
|
||||
> ⚠ **Эррата 09.08 (D39.125):** D39.111 п.1 предписывал промту S3 «максимум = баланс МИНУС открытые холды» — формула ОШИБОЧНА (вычитание дважды), исправлена D39.115 п.2(а): максимум = Balance КАК ЕСТЬ; тело D39.111 — в слайсе `../archive/architecture/05-decisions-D39-106-123.md` (испр. 05.09: прежнее «живёт ниже в этом файле» протухло подрезкой D39.139) (голова D39.106+).
|
||||
|
|
@ -3795,3 +3795,25 @@ bought NOTHING». ⇒ **`tmctl manifest` есть НИЖНЯЯ граница,
|
|||
**8. Что этот акт НЕ делает.** Он не ратифицирует Д-1…Д-18 итога: это восемнадцать отдельных нот и эррат (директива рода против D5 п.1 · производитель `hidden` · композиция D39.104 п.1 с `miner_emit.go` · цена пере-решения · недостижимые условия · «поверхность» в D39.193 п.3 · доктрина Д2 · словарь классификатора и прочее). Они ставятся в очередь оркестратора списком, а не проводятся молча. Пять вопросов владельцу (§6 итога) уходят ему отдельно.
|
||||
|
||||
**9. Деньги и носители.** $0. Ряды бэклога заведены: **441–450** (Б-1…Б-9, Б-11), дописки — к открытому ряду **38** (смета не видит будущую перекупку; нового ряда НЕ заводить — предмет уже открыт), к ряду **224** (на первом стопе read-out несёт 0 термов при 69/66 предложенных) и к ряду **24** (голос — приоритет №1 по D39.248 п.1). Голова бампнута в ДВУХ носителях из трёх: CURRENT-STATE держит незакоммиченная сдача бэкенд-сессии, бамп едет вместе с её лендингом — долг записан прежде и не нов.
|
||||
|
||||
|
||||
## D39.254 — РЕШЕНИЯ ВЛАДЕЛЬЦА 16.09 ПО ПЯТИ ВОПРОСАМ КОНСИЛИУМА 35 (банк памяти)
|
||||
|
||||
**Основание.** Ответы владельца на §6 итога `research/35-bank-memory-consilium.md` (акт D39.253). Записаны дословно, потому что три из пяти меняют проект.
|
||||
|
||||
**1. Держать решение банка между покупками — ДА.** Слово: «Да». ⇒ N-1 («решённое не пере-спрашивается» с событиями Е-1…Е-5) принят как продуктовое решение; ряд 130 закрывается этим словом в части «копить ли решения между прогонами». Цена принята: ранняя ошибка живёт до события или правки владельца.
|
||||
|
||||
**2. Отказ терминолога — ПЕРЕ-ОПРЕДЕЛЁН ВЛАДЕЛЬЦЕМ, и это не выбор из (а)/(б).** Слово: «Ну фоллбек должен быть на другую модель, или переспросить как то отдельно, разве сейчас таких механизмов в банке памяти нет? Вообще банк памяти очень важная точка, там скорее консилуум алгоритмов должен работать который выведет что инжектить редактору, то есть это максимально умный участок».
|
||||
- **Ответ по факту дерева:** у банк-ролей сегодня НЕТ ни ретрая, ни регенерации (ряд 438: на прогоне B классификатор двумя ОПЛАЧЕННЫМИ батчами потерял тип у 42 термов из 66, регенерации не было; у черновой стадии та же мина вылечена 5 из 5). Эскалация на другую модель ПОСТРОЕНА и ратифицирована, но выключена данными: `budget_usd: 0` (ряд 435).
|
||||
- ⇒ Вопрос В2 в форме «(а) одна передача против (б) свободный термин» СНЯТ как преждевременный: сперва строятся лечение и фоллбек, и только потом спрашивается, что едет законом у по-настоящему нерешённой строки.
|
||||
- ⚠ **Граница, которую обязан знать исполнитель:** «консилиум моделей» как прод-механизм закрыт замером D39.102 п.2 (`research/24`: потолок селекции 17/45 — у 22 промахов из 27 верного `dst` не было в вариантах вовсе; кросс-модельные шкалы несравнимы; равноправный совет 23/45 против glm-соло 25/45). НЕ закрыты: детерминированный ансамбль признаков, рецензент ДРУГОГО семейства ТОЛЬКО на спорных кластерах (уцелевший остаток ряда 5) и свежая генеративная консолидация (прошла бар, S1 +8/−0). Проект «умного участка» строится в этих границах либо владелец снимает закрытие явно.
|
||||
|
||||
**3. Что делать, когда безродовая форма невозможна — РЕШЕНО.** Слово: «Просить редактора перестроить, если литературно художественно не получается, то пусть пишет как лучше читается, но такую инструкцию разумеется надо давать когда такой термин встречается, то есть по умному».
|
||||
- **Адресность УЖЕ построена:** директива прикрепляется к строке ИМЕННО того термина и только при `gender=hidden` (`backend/internal/membank/memory.go`, `genderConstraintNote`); у прочих строк она пуста побайтно.
|
||||
- ⇒ Меняется ТОЛЬКО текст данных `injection.txt:12`: вместо «при неизбежности — мужские» — перестроить фразу, а если литературно не выходит, писать как лучше читается. Это снимает расхождение G-1 с D5 п.1 и закрывает ноту Д-1 в её главной части.
|
||||
|
||||
**4. Более богатый контекст спорным терминам — ДА, с оговоркой владельца о неизвестной мере.** Слово: «Да, это в целом мое пожелание по книге давать чуть более богатый контекст в банк, но я не знаю насколько богатый относительно сегодняшнего». ⇒ санкция на замер M4 дана; величина «насколько богаче» решается замером, а не словом. ⚠ Владелец предполагал, что роль видит «что-то вроде 1 строки»; по факту она видит три окна ±40 рун плюс блок кандидата (происхождение, тип, частота, разнобой, конвенции, уверенность, варианты черновиков, метка INVENTED).
|
||||
|
||||
**5. Голос и обращения — СТРОИТЬ.** Слово: «Ну строить очевидно… Строить надо, только продуманно алгоритмически». ⇒ вариант (в) «не трогать» из §6 итога отменён; работа ставится в очередь с требованием алгоритмической продуманности, а не ручного посева. Предмет — речевой регистр и самоназвание персонажей плюс переходы ты↔вы; сегодня построена схема с окнами, производителя нет, подача выключена константой.
|
||||
|
||||
**Что эта нота НЕ делает.** Не ратифицирует Д-1…Д-18 итога (кроме главной части Д-1, снятой словом владельца по п.3) и не заказывает паки: слот бэкенда занят паком «купленное — значит доставлено», приёмка которого отложена словом владельца 15.09.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue