Route the seam finding the backend pack made outside its brief: the platform still promises what the engine revoked, and intake acts on that band destructively
This commit is contained in:
parent
9d27c0b8e9
commit
57260c0c9d
2 changed files with 90 additions and 1 deletions
|
|
@ -13,7 +13,7 @@
|
|||
> - **Курс:** ОБЩНОСТЬ ✅ → КАЧЕСТВО БАНКА ✅ → ПАКЕТ-ЧЕКЕРОВ ✅ (D39.59–78) → **ФРОНТ-ЭРА** (D39.81–100: зоны живые, контракт API ратифицирован) → **шов/платформа/движковые блокеры построены** (D39.106–123). Хвосты курса живут строками: 16 (полная цена холодного старта не измерена: у `coldrun-a`/`coldrun-b` нет НИ ОДНОГО редакторского вызова, хотя сама edit-волна отработала и оплачена — 58 вызовов волновым драйвером 23–25.07 на малых прогонах, плюс 648 до драйвера; ⚠ прежняя редакция писала «не гонялась НИ РАЗУ» — абсолют ложен, испр. оркестратором №19 по леджерам `~/books/gu-zhenren/**/*.db`; держит и оси голоса 13б/24) · 46 (дизайн заморожен D39.92/93, промт ждёт выдачи) · coldrun-b фаза C заморожена чекпойнтом легитимно (D39.86; эталон денег/поведения — coldrun-a, read-only); развилка 0731 решена и исполнена (D39.87/91, код `553f1a3`).
|
||||
> - **Горизонт (D39.62/67, освежён D39.95):** **ДОБОР ИДЕАЛА** (первым прогоном: оси голоса 24 · авто-режим · цена 16; жильцы ролей решаются ДО прогона эксп-22 — строка 149 · веса K1–K12 13а · вне-претрейн чекпоинт 55; остаток арбитража банка = рецензент спорных кластеров при ре-пробе 74 — D39.102) → ВТОРАЯ ПАРА живьём (ja→ru; преп 81) → МАСШТАБ → пилот Ф2.5 (гейт резюме-строки 80; строки 62–68, 85) → Ф3 ридер-IDE (69–71). **Стоячие:** ToS-триггер 25.10 · Ш-2 до go1.27 (⚠ + x/text Unicode 17 тем же тулчейном — строка 119, реестр §Б-108 справочника якорей) · платные прогоны разблокированы (проба провода — D39.97, конфиги 112 залендены).
|
||||
> - **Стек (полная карта роль→модель→конфиг→квирки — [STACK.md](STACK.md), D39.126):** draft deepseek-v4-flash thinking-ON `low` **⚠0731** → терминолог (та же модель) → editor deepseek-v4-pro БИЛИНГВ ИНТЕРИМ (топология ПОДТВЕРЖДЕНА при неразличимости жильцов — D39.117; закон-блок ОБЯЗАТЕЛЕН — строка 134; glm-5 резерв; вахта маппинга эффорта pro — §Б-108) → судья gemini (Ф2, в движке НЕ построен — строка 33); канал B Mistral+grok; ~$0.85/ранобэ (D30.4, пере-калибровка при следующем платном прогоне). ⚠ **Вендор-факты 13–15.08 (пере-пин ИСПОЛНЕН и ПРИНЯТ, D39.137):** таблица цен запинена ПИКОМ (flash 0.44/1.32 · pro 1.32/3.96/кэш-хит 0.044 за 1M; счёт шиппинг-c1 = 100% DeepSeek ⇒ ×4.2–4.4 в пике / ×2.1–2.2 в долине — замер по трём прогонам); ⚠ про эффорт pro НОСИТЕЛИ ПРОТИВОРЕЧАТ и это НЕ РЕШЕНО (испр. 23.08 №19: прежняя редакция утверждала здесь одну сторону — «эффорт стал настраиваемым low/high/max, квирк 3а устарел»): квирк-канон и `STACK.md` говорят «ручки у pro НЕТ», замера поведением после 13.08 нет ни у одной стороны, и по гардрейлу владельца такое закрывается ВЕНДОР-СВЕРКОЙ, а не выбором стороны; до неё в силе канон, разбор — `STACK.md` строка редактора; ⚠ ВЕСА pro сменились под тем же слагом (V4-Pro-0813, класс D39.61) — вахта-риг готов (остаток 172); ⚠ посылка интерим-редактора «dspro дешевле glm» в пике ПЕРЕВЁРНУТА (×1.26 дороже — вход ратификации фазы Д, D39.137 п.4); покупки фазы Д на deepseek до 16.08 16:00 UTC — по старым ценам. ⚠ **ВЕСЬ банковый контур (банкнота+терминолог+классификатор) в shipping-c1 НЕ включён** — жив ран-локальным конфигом книги (строка 140; сверка STACK.md 09.08 — факт шире прежней декларации «одна банкнота»); эскалация в shipping за `budget_usd: 0` (STACK.md §примечания).
|
||||
> - **ЕДИНЫЙ БЭКЛОГ — секция «Бэклог» ниже** (одна таблица, единственный трекер; каждая петля обязана иметь диспозицию: решено / отложено-с-записью / отклонено; ведёт оркестратор). **СЧЁТ ОЧЕРЕДИ на 30.08 (скриптом по таблице — `python3 docs/scripts/counts.py`; обновлять при каждом лендинге):** всего **186** строк · зона бэкенд **87** строго / **124** широко (175 пере-скоуплена D39.134; 176/177 заведены 15.08; 178 — D39.136; 179 ЗАКРЫТА D39.138; 180/181 — D39.137; 182 — wire-батч, аудит 15.08; 183–187 — контракт-ревью 28, D39.138; 188–190 — аудит бэклога, D39.140; 191/192 — модель подписи банка и пост-ридинговый цикл, D39.144; 193 — молчащие дыры выдачи, D39.147; 194–196 — приёмка пака честности, D39.149; 197 — фикс-лист ФЧ, D39.150; **198–204 — приёмка P7 и слова владельца 20.08, D39.153; 205 — слепота гейта якорей, аудит 21.08; 206–207 — приёмка P8-FIX, D39.154; 208–209 — аудит доков 22.08 (потеря глоссария на Gemini, риг живых проб); 210 — трассировка цепи банка 22.08 (род не производится авто-путём); **211–213 — консилиум шва 22–23.08: ключи провайдеров не доезжают до движка на SaaS (блокер 202), нестрогий загрузчик сида, дубль конвенции пути у платформы — 211 ЗАКРЫТА и 213 сужена лендингом P9 (D39.162); 214–216 — разбор журнала трассировки банка: подпись не оставляет следа, $0-репин недостижим с платформы, три несущих сценария не проверены живым движком; 217–218, 220 — аудит переезда машины 24.08: абсолютные пути полигона, дефолты корпуса в движке, бутстрап гейта доков чужой замороженной зоной; 219 (съехавшие line-якоря D-лога) — ⚠ ЖИВА, испр. 30.08: D39.157 п.6 объявил класс закрытым 24.08, но носителя в таблице не было, и 27.08 строка заведена ЗАНОВО со свежим замером; построена только первая половина лекарства (структурная сверка владельца ноты в `counts.py`)**; **236 ЗАКРЫТА D39.175** — движковая половина построена, платформенный остаток несут очередь №20 п.4 и `platform/BACKLOG.md` П-17; **238–239 — финальное ревью пака «писатель книги», D39.175; 240 — ревизия P9 оркестратором №20 30.08, находка Д3 без носителя; 241 — самопротиворечие канона на дочитанной книге, находка сессии P12, эррата 30.08-б; 242 — разъехавшаяся форма реестра нот; 243 — НЕПРИМЕНЁННЫЙ остаток того же аудита, 19 находок**) (⚠ колонки счётчик читает С КОНЦА — испр. D39.116) · **блокеров очереди 0** (236 закрыта D39.175), платные прогоны разблокированы · «скоро» **58** (перечень — грепом по таблице, рукописный список снят D39.126) · гейт-строки эксп-22: 55·153 (плюс 150 — руки владельца); строка 5 — остаток гейчен ре-пробой 74, носитель события теперь строка 188 (аудит D39.140); остальное «когда-нибудь». ⚠ Счёт — НИЖНЯЯ граница долга, не потолок (разбор — легенда таблицы ниже).
|
||||
> - **ЕДИНЫЙ БЭКЛОГ — секция «Бэклог» ниже** (одна таблица, единственный трекер; каждая петля обязана иметь диспозицию: решено / отложено-с-записью / отклонено; ведёт оркестратор). **СЧЁТ ОЧЕРЕДИ на 30.08 (скриптом по таблице — `python3 docs/scripts/counts.py`; обновлять при каждом лендинге):** всего **187** строк · зона бэкенд **87** строго / **124** широко (175 пере-скоуплена D39.134; 176/177 заведены 15.08; 178 — D39.136; 179 ЗАКРЫТА D39.138; 180/181 — D39.137; 182 — wire-батч, аудит 15.08; 183–187 — контракт-ревью 28, D39.138; 188–190 — аудит бэклога, D39.140; 191/192 — модель подписи банка и пост-ридинговый цикл, D39.144; 193 — молчащие дыры выдачи, D39.147; 194–196 — приёмка пака честности, D39.149; 197 — фикс-лист ФЧ, D39.150; **198–204 — приёмка P7 и слова владельца 20.08, D39.153; 205 — слепота гейта якорей, аудит 21.08; 206–207 — приёмка P8-FIX, D39.154; 208–209 — аудит доков 22.08 (потеря глоссария на Gemini, риг живых проб); 210 — трассировка цепи банка 22.08 (род не производится авто-путём); **211–213 — консилиум шва 22–23.08: ключи провайдеров не доезжают до движка на SaaS (блокер 202), нестрогий загрузчик сида, дубль конвенции пути у платформы — 211 ЗАКРЫТА и 213 сужена лендингом P9 (D39.162); 214–216 — разбор журнала трассировки банка: подпись не оставляет следа, $0-репин недостижим с платформы, три несущих сценария не проверены живым движком; 217–218, 220 — аудит переезда машины 24.08: абсолютные пути полигона, дефолты корпуса в движке, бутстрап гейта доков чужой замороженной зоной; 219 (съехавшие line-якоря D-лога) — ⚠ ЖИВА, испр. 30.08: D39.157 п.6 объявил класс закрытым 24.08, но носителя в таблице не было, и 27.08 строка заведена ЗАНОВО со свежим замером; построена только первая половина лекарства (структурная сверка владельца ноты в `counts.py`)**; **236 ЗАКРЫТА D39.175** — движковая половина построена, платформенный остаток несут очередь №20 п.4 и `platform/BACKLOG.md` П-17; **238–239 — финальное ревью пака «писатель книги», D39.175; 240 — ревизия P9 оркестратором №20 30.08, находка Д3 без носителя; 241 — самопротиворечие канона на дочитанной книге, находка сессии P12, эррата 30.08-б; 242 — разъехавшаяся форма реестра нот; 243 — НЕПРИМЕНЁННЫЙ остаток того же аудита, 19 находок**) (⚠ колонки счётчик читает С КОНЦА — испр. D39.116) · **блокеров очереди 0** (236 закрыта D39.175), платные прогоны разблокированы · «скоро» **58** (перечень — грепом по таблице, рукописный список снят D39.126) · гейт-строки эксп-22: 55·153 (плюс 150 — руки владельца); строка 5 — остаток гейчен ре-пробой 74, носитель события теперь строка 188 (аудит D39.140); остальное «когда-нибудь». ⚠ Счёт — НИЖНЯЯ граница долга, не потолок (разбор — легенда таблицы ниже).
|
||||
> - Архивы хроники: `archive/PROGRESS-2026-07-04-10.md` (D31) · `-10-13` (D39.6-гигиена) · `-13-25` (стройка паков 11–16, rerun2) · **`-25-31` (паки 17–20 · мини-прогон · полигон-пакеты 5–8 · ToS · холодный прогон; D39.26–58)** · **`-08-01-02` (сессии №9/№10: общность · качество банка · coldrun-b · открытие фронта/платформы; D39.59–90, срез D39.105)** · **`-08-02-04` (сессии №11–№13: ручки эффорта · стандарты · контракт API · платформа P0 · банк-арбитраж; D39.91–105 + снимок шапки эры №15)** · `-08-04-09` (пинги закрытых паков эры №15) · **`-08-14-15` (закрытые бэкенд-записи №16–17: эмиттер шва · migrate · пере-пин DeepSeek; вынесено D39.139)**. Записи ниже — живой хвост (№16+, эра D39.124+; подрезка D39.139).
|
||||
|
||||
## 📌 СОСТОЯНИЕ ПАКОВ (снимок 30.08, оркестратор №20; приёмки P11 и пака «деньги» — записи оркестратора №19 от 29.08)
|
||||
|
|
@ -205,6 +205,7 @@
|
|||
| 243 | **Остаток аудита доков 30–31.08: 19 удержанных находок НЕ применены** (аудит — 5 линз + верификатор на каждую, 57 находок, 55 удержаны, 36 применены сменой №20). Перечень: ~~**arch-3**~~ **ЗАКРЫТ 31.08 (D39.179 п.5)** — и был вдвое больше заявленного: не 13 якорей, а **51** (34 уехали, 1 мёртв, 16 верны), а дороже адресов оказались ЛОЖНЫЕ КЛЕЙМЫ (цитата контракта, которой нет; потерянный третий член `Usage`; живой К-13 при закрытом D39.132; метод `Settle`, которого нет). Чинилась ФОРМА, не номера: сверяемых гейтом по содержимому стало 89→127 · **arch-5** (правило языка знает две корзины, `reader.txt` — третья) · **arch-7** (§2 закона шва: дисциплина флока не описывает новый глагол-писатель) · **arch-9** (реестр загейченных триггеров не знает нажатых 30.08) · **arch-10** (`16-events-emitter.md`: словарь и `StreamVersion` разошлись с кодом обеих зон) · **arch-11** (`10-prompt-architecture.md`: описывает несуществующий с пака-15 ключ `prompts:`) · **arch-12** (шапка `09-target` сама зовёт себя неполной — строку под таблицей слоёв надо внести) · **contract-8** (эррата 15.08-в в шапке D-лога указывает на промт, уехавший в архив) · **contract-10** (`Export.failure_code` «becomes an enum with the first built format» — формат построен, условие наступило) · **progress-6/7/8/10/11/12/13/14/15** (мелочь CURRENT-STATE и строк бэклога: протухшие «запушена»/«строка 200»/якорь `miner_emit.go`/дубль 238 внутри 160 и пр.). ⚠ Отчёт аудита жил в песочнице сессии №20 и умирает с ней — здесь ЕДИНСТВЕННЫЙ носитель списка; воспроизведение = повторный аудит (5 агентов, ~2 часа) | оркестратор | скоро | пройти списком; major (arch-3) первым — док про деньги врёт указателями | аудит доков 30–31.08, сдача смены №20 |
|
||||
| 244 | **Гейт якорей на пре-коммите ломается всякий раз, когда зона правит КОД и СВОЙ реестр одним незакоммиченным деревом** — и врёт в обе стороны. Механика: хук судит ЗАКОММИЧЕННЫЙ док против РАБОЧЕГО кода, поэтому пере-нацеленные, но не залёнджённые якоря читаются как битые. Замерено на приёмке P12 31.08: у оркестратора хук напечатал 13 битых якорей `platform/docs/DEFECT_REGISTER.md`, у зоны `counts.py --lint` на том же дереве дал **0**; права зона — в HEAD `internal/runs/runs.go:323`, в рабочем `:347`, и токен по новому адресу на месте. ⚠ Обратная сторона опаснее и не замерена: якорь, ставший битым ПО-НАСТОЯЩЕМУ, тем же механизмом может оказаться зелёным. Свойство общее, не про этот пак | оркестратор | когда-нибудь | либо судить обе стороны из одного состояния (`--from-index` уже есть — проверить, покрывает ли он случай), либо печатать, что сравниваются РАЗНЫЕ состояния | приёмка P12 оркестратором №21, 31.08, разрешено командой |
|
||||
| 245 | **Pathspec-форма коммита молча роняет UNTRACKED-файлы, и сломанный коммит выглядит нормальным до первого чужого прогона.** `git commit -- <пути>` обходит ИНДЕКС и берёт рабочее дерево только для ОТСЛЕЖИВАЕМЫХ путей: предварительный `git add` нового файла она игнорирует. Поймано на лендинге P12 31.08 — коммит `e1cb692` унёс `migrations.sha256`, уже ссылавшийся на три миграции, а сами миграции 00029/00030/00031 и три теста остались снаружи; починено амендом секундного неопубликованного коммита при пустом индексе (`0a680a3`). ⚠ Канон git-координации в `CLAUDE.md` объясняет про pathspec ТОЛЬКО то, что она не трогает чужой индекс — то есть учит половине правды и ровно этим создаёт ловушку. Норма, которую предлагаю вписать: новые файлы стейджить явно и проверять состав `git show --name-only`, а не доверять форме | оркестратор | скоро (решение владельца — его канон) | одна строка в `CLAUDE.md` §«Git-координация мультисессий»; вписывает владелец или оркестратор по его слову | лендинг P12 оркестратором №21, 31.08 |
|
||||
| 246 | ⚠ **ДВЕ КОПИИ ПОЛОСЫ ОТКАЗОВ 10–19 ОБЕЩАЮТ РАЗНОЕ — потребитель держит гарантию, которую производитель ОТОЗВАЛ.** Движок (`backend/cmd/tmctl/main.go:53`=`Nothing was written` is NOT the band's promise any more): «„Nothing was written“ is NOT the band's promise any more … **exit 15 legitimately answers with files on disk**». Платформа (`platform/internal/ingest/exit.go:38`=`nothing this process would have written was written`): «… and nothing this process would have written was written». ⚠ Опасность не теоретическая: по `PD-196` интейк действует по полосе РАЗРУШИТЕЛЬНО (отклоняет книгу и удаляет загрузку), а `exit 15` теперь легитимно оставляет файлы на диске. Хвост: движковый `exitBookIncomplete = 16` у платформы константы НЕ имеет вовсе (её словарь 10·11·12·13·14·15·19). ⚠ **Денежная половина ЦЕЛА в обеих копиях** (`nothing was spent` — по одному хиту в каждой), поэтому запрет отказывать классом полосы там, где деньги уже потрачены, в силе. Предсказано п.6 закона шва 17 | платформа (правка) + оркестратор (маршрут) | СРОЧНО | зона платформы приводит свою копию к движковой ЛИБО обе стороны идут в ратификацию, если расхождение намеренное | пак «деньги и честность», находка A15 вне заказа, 31.08; пере-проверено оркестратором дословно обеими копиями |
|
||||
| 217 | **Скрипты полигона захардкодили АБСОЛЮТНЫЕ пути двух корней и не работают на этой машине вовсе.** ДВА РАЗНЫХ слома. **Корень репо** — смена пользователя: литерал в 121 файле, из них 104 дословно `REPO = Path("/home/ubuntu/projects/textmachine")`, портабельных форм всего 5. **Корень книг** — оба события порознь: литерал `/home/ubuntu/books` 86 файлов (пользователь), портабельный `Path.home()/"books"` 89 файлов (переезд каталога; на прежних машинах работал). Объединение 173 файла. Пользователь теперь `ubuntu-26`, книги переехали в `<репозиторий>/books` ⇒ ломается и то и другое, включая ЖИВОЙ гейт фазы Д `eval/conformance.py:48`=`REPO = Path("/home/ubuntu/projects/textmachine")`. Живых носителей 26 по корню книг (среди них портабельная форма преобладает 20:6) плюс корневые гейты и сборщики корпусов; остальное — скрипты закрытых эксп-12–16, их владелец велел ВЫБРОСИТЬ, а не чинить (D39.157 п.4а). Форма правки — за зоной; приор оркестратора: один модуль путей, корень резолвится МАРКЕРОМ вверх по дереву (движок так и делает — `backend/internal/miner/miner_parity_test.go:29`=`derived from the repository MARKER`), книги от него, обе ручки перекрываются env | полигон | скоро (блокирует любой прогон зоны) | пак путей полигона | переезд машины 24.08, №19 |
|
||||
| 219 | **Line-якоря в тела D-лога обречены съезжать, и механизм именно в дисциплине эррат.** Эрраты вписываются в КАРТУ ШАПКИ (append-only, D23.3), то есть в начало файла, — значит каждая эррата сдвигает номера строк ВСЕХ тел ниже, и любой якорь вида `05-decisions-log.md:NNN` умирает молча. ⚠ Замерено на себе 27.08: три эрраты за сессию убили якоря в `17-seam-inbound-law.md:120` и `research/25-seam-cold-review.md:5` (оба целили в `:232`, тело уехало на `:239`). Лечение — не пере-нацеливание (оно повторится через эррату), а СМЕНА ФОРМЫ якоря: в тела D-лога целиться номером ноты (`^## D39.106`), который стабилен навсегда, а не строкой. ⚠ Строка ОБЪЯВЛЕНА в CURRENT-STATE 24.08 и до 27.08 в таблице НЕ СУЩЕСТВОВАЛА — очередь три дня ссылалась на носитель, которого нет; поймано свипом якорей при выдаче контрактного минора | оркестратор | скоро (растёт с каждой эрратой) | `--lint` учит форму `файл:^## D<номер>`, живые якоря в D-лог переводятся на неё | ревью доков 24.08, механизм и отсутствие носителя — 27.08, D39.160 |
|
||||
| 220 | **Репо-широкий гейт доков бутстрапится пакетным менеджером ОДНОЙ зоны, и та заморожена.** Диспетчер `.git/hooks/pre-commit` зоно-нейтрален по построению (`for hook in */scripts/githooks/pre-commit`, `#!/bin/sh`, node не нужен) и судит `CLAUDE.md` + `docs/**` + `platform/docs/**` + `frontend/docs/**` (`docs/scripts/counts.py:500`=`ROOT / "CLAUDE.md"`), но единственный его УСТАНОВЩИК — `frontend/scripts/githooks/install.mjs`, вызываемый ключом `prepare` из `frontend/package.json`. Охват и бутстрап не совпадают ⇒ инструмент решает свою задачу не в полной мере. Проверено исполнением 24.08: на этой машине `.git/hooks/` содержал только `*.sample`, гейт МОЛЧАЛ, ничего не проверив, и поймал первые четыре дефекта только после ручной установки; сессия бэкенда или доков `npm install` не делает никогда. Приор: зоно-нейтральный установщик в `docs/scripts/githooks/` как ЕДИНСТВЕННЫЙ писатель диспетчера, `prepare` фронта зовёт его — фронтовая половина выписана пингом №19 в зонный журнал фронта. ⚠ Ручная установка — временная мера, пока строка открыта; записывать её как порядок работы ЗАПРЕЩЕНО (это ровно тот обход, цену которого называет шапка `CLAUDE.md`) | доки + фронт | скоро | зоно-нейтральный бутстрап + правка `prepare` при разморозке | аудит переезда 24.08, №19 |
|
||||
|
|
@ -290,6 +291,61 @@
|
|||
> записки-плана и оба итога залендены и ратифицированы, решения живут телами D39.175 и D39.170. Читать
|
||||
> НЕ надо — там доказательная база, а не состояние.
|
||||
|
||||
### 31.08 — пак «ДЕНЬГИ И ЧЕСТНОСТЬ ВЫДАЧИ» ($0), сессия `textmachine-main-8a`. ОТРАБОТАН, лендинг за оркестратором
|
||||
|
||||
Промт `docs/BACKEND_MONEY_HONESTY_SESSION_PROMPT.md` (оркестратор №21). **Ни одного платного вызова.**
|
||||
Записка-план, дизайн и отчёт — файлами в `backend/docs/`: `MONEY_HONESTY_PLAN-NOTE.md` ·
|
||||
`DISCLOSURE_LAW_DESIGN.md` · `MONEY_HONESTY_REPORT.md`.
|
||||
|
||||
**ФАЗА 1 (главный результат) — сдана, НЕ ратифицирована сессией.** Закон раскрытия («факт класса X обязан
|
||||
достичь потребителя Y по каналу Z») спроектирован, объясняет все ДЕСЯТЬ строк корпуса и назначает канал
|
||||
каждой; спроектирован гейт из четырёх слоёв с названным несущим. **Корпус вырос с 10 до 14: найдены четыре
|
||||
экземпляра вне заказа**, два из них сильнее самого заказа. ⛔ **К десяти экземплярам не приступала —
|
||||
стоп-точка промта соблюдена буквально.**
|
||||
|
||||
**ФАЗА 2 — три пункта, не зависящих от закона:**
|
||||
* **A1** (дефолт эхо-регена) — `regenerate_echo_before_escalate: 1` в пяти шиппинг-конфигах, Go-дефолт
|
||||
оставлен 0 с доводом (оправдание ручки — свойство МОДЕЛИ, значит данные). Три посадки, все проверены
|
||||
краснотой под мутацией. Снапшот-нейтральность предъявлена МАШИННО, а не грепом.
|
||||
* **A11** (строка 232) — `store.AnnouncedOnceKeys()` + ось доставки по анонс-леджеру. Две посадки.
|
||||
* **A9** (строка 233) — **диагноз на живых деньгах, кода нет: решение с доводом** (лечение A9 и A2 — один
|
||||
механизм, а A2 за стоп-точкой).
|
||||
|
||||
**Батарея:** `MAKE_EXIT=0` (снят с самого `make`, не с обёртки), 18 пакетов ok, 4 без тестов, линтер 0
|
||||
issues. **Скипы, вслух:** `TestMinerFullBookParity` · `TestHelperEventsRun` · `TestHelperKillLoop`.
|
||||
Корпусные измерения не гонялись.
|
||||
|
||||
**⚠ ПИНГИ ОРКЕСТРАТОРУ (полный список — §7 отчёта), три самых дорогих:**
|
||||
1. ⛔ **Две копии полосы кодов выхода 10–19 обещают РАЗНОЕ.** Движок (`cmd/tmctl/main.go`, греп
|
||||
`The refusal band`): «**«Nothing was written» is NOT the band's promise any more** … exit 15 legitimately
|
||||
answers with files on disk». Платформа (`platform/internal/ingest/exit.go`, тот же греп): «… **and
|
||||
nothing this process would have written was written**». Потребитель держит гарантию, которую
|
||||
производитель отозвал, а по `PD-196` интейк действует по полосе РАЗРУШИТЕЛЬНО. Правка — чужая зона.
|
||||
⚠ Денежная половина («nothing was spent») цела в обеих копиях. ⚠ Хвост: движковый
|
||||
`exitBookIncomplete = 16` у платформы константы не имеет вовсе.
|
||||
2. **Ось строки бэклога 194 ОПРОВЕРГНУТА живыми данными:** пере-покупка терминологии наступает не «на
|
||||
сдвиге снапшота», а от БАЙТОВ БАТЧА. Разложение по покупкам: П1 $0.02056340 → П2 $0.02924141 (всё
|
||||
свежее, снапшот не двигался) → П3 $0.00 (все чекпоинты попали, а снапшот КАК РАЗ сдвинулся).
|
||||
3. **A5 (объёмный стоп) — ПИНГ С ДОМАШНЕЙ ЗАГОТОВКОЙ, приказанный промтом именно сюда.** Нового кода
|
||||
выхода нельзя; **нового значения `Finished.Outcome` тоже нельзя** — но НЕ потому, что пара
|
||||
код↔кадр биективна (она не биективна: у `OutcomeRefused` двойника в потоке нет), а потому, что
|
||||
значение, живущее только в потоке, заставило бы два канала назвать РАЗНЫЙ исход одного прогона.
|
||||
⇒ рекомендую ЧИСЛА: леджер доставки (`max_units · delivered · reworked · flagged · free · left_fresh ·
|
||||
left_rework`) полями кадра `finished`. Класс — «новое поле» ⇒ ратификация оркестратора.
|
||||
⚠ Срочность понижаю сама: **платформа сегодня `--max-units` НЕ ШЛЁТ вообще** (`TranslateArgs`; во всей
|
||||
зоне `platform/` флага нет вне комментария) — это дефект будущего потребителя, не живой инцидент.
|
||||
⚠ И предикат «выводимости», который я предлагала первой редакцией, ЛОЖЕН на самом прогоне A5:
|
||||
`reconcile` выносит оплаченный-но-флагнутый юнит из `Delivered`/`Reworked`, поэтому признак обязан
|
||||
ехать готовым числом, а не собираться потребителем.
|
||||
4. **A3(б) ОПРОВЕРГНУТ как дефект `book_files`** — контракт «карта МЕСТ, не присутствия» написан обеими
|
||||
сторонами с доводом, и платформа это поле не декодирует вовсе. Настоящий дефект рядом:
|
||||
`build --format epub` МОЛЧА удаляет соседний `.txt`, различая «файл был» от «файла не было».
|
||||
|
||||
**⚠ Для приёмки, называю сама:** первая редакция правки A11 уронила чужой ратифицированный тест
|
||||
`TestARunThatRePaysNothingIsNotAskedForConsent`. **Тест не правился ни байтом** — предикат сужен по
|
||||
существу (`ResetChunkStages` удаляет и строки, и чекпоинты ⇒ у редрайвнутого юнита текста нет), разбор
|
||||
в §4.3 отчёта. Строка бэклога **197** не взята — ресурс ушёл в фазу 1; сказано прямо.
|
||||
|
||||
## Полигон
|
||||
|
||||
**📌 ПИНГ ПОЛИГОНУ от оркестратора №19 (28.08, D39.164) — вендор-вердикт по Gemini для `docs/experiments/00-provider-quirks.md`.**
|
||||
|
|
|
|||
|
|
@ -5,6 +5,39 @@
|
|||
> читает этот журнал при каждом лендинге зоны (свип «решений владельца» — норма D39.99 п.4).
|
||||
|
||||
|
||||
|
||||
## ПИНГ оркестратора №21 → зоне (31.08, СРОЧНО): ваша копия полосы отказов обещает то, что движок ОТОЗВАЛ
|
||||
|
||||
Правку вносит ЗОНА. Пишу пингом, а не правкой, потому что `platform/` не моя зона — но откладывать
|
||||
нельзя: по `PD-196` интейк действует по этой полосе РАЗРУШИТЕЛЬНО.
|
||||
|
||||
**Расхождение, сверено дословно обеими копиями оркестратором.**
|
||||
|
||||
| сторона | что обещает полоса 10–19 |
|
||||
|---|---|
|
||||
| ДВИЖОК (`backend/cmd/tmctl/main.go`, греп `Nothing was written`) | «nothing reached a provider, nothing was spent, no work needs rolling back… **„Nothing was written“ is NOT the band's promise any more**, it is a clause of the individual classes: **exit 15 legitimately answers with files on disk**» |
|
||||
| ПЛАТФОРМА (`platform/internal/ingest/exit.go`, греп `nothing this process would have written`) | «…nothing reached a provider, nothing was spent, **and nothing this process would have written was written**» |
|
||||
|
||||
**Почему это опасно, а не косметика.** Вы держите гарантию, которую производитель СНЯЛ. `exit 15`
|
||||
(`write_incomplete`) теперь ЛЕГИТИМНО возвращается с файлами на диске, а ваш интейк по полосе
|
||||
отклоняет книгу и удаляет загрузку. Это ровно тот класс, который п.6 закона шва 17 предсказывал:
|
||||
копия контракта у потребителя пережила смену контракта у производителя.
|
||||
|
||||
**Хвост:** движковый `exitBookIncomplete = 16` у вас константы НЕ имеет вовсе — ваш словарь
|
||||
10·11·12·13·14·15·19. По конструкции полосы неизвестный класс безопасно читается как «отказ», так что
|
||||
это не дыра, но назвать стоит.
|
||||
|
||||
⚠ **Денежная половина ЦЕЛА в обеих копиях** (`nothing was spent` — ровно по одному хиту в каждой).
|
||||
Поэтому вывод «полосой нельзя отказывать там, где деньги уже потрачены» остаётся верным, и бэкенд-пак
|
||||
на него опирается.
|
||||
|
||||
**Что прошу.** Привести вашу копию к движковой ЛИБО, если расхождение намеренное, вынести его на
|
||||
ратификацию — потому что сейчас две ратифицированные копии одного контракта говорят разное, и
|
||||
разрушительное действие висит на той, что устарела. Носитель — строка **246** единого бэклога.
|
||||
|
||||
⚠ Находка НЕ моя: её принёс бэкенд-пак «деньги и честность» охотником вне заказанной десятки. Я её
|
||||
пере-проверил дословно, но авторство чужое.
|
||||
|
||||
## ПИНГ оркестратора №21 → зоне (31.08, из приёмки P12): гейт батареи подсказывает ОДНО условие хоста из трёх
|
||||
|
||||
Правку вносит ЗОНА — не я. Прошу следующим платформенным паком, вместе с `PD-433`/`PD-434`/`PD-435`.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue