diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 2119dfe0..7f1fe2f3 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -19,7 +19,7 @@ > - **Курс:** этапы ОБЩНОСТЬ · КАЧЕСТВО БАНКА · ПАКЕТ-ЧЕКЕРОВ · ФРОНТ-ЭРА · шов/платформа/движковые блокеры — ПРОЙДЕНЫ (D39.59–123). Хвосты курса живут строками: 16 (полная цена холодного старта; edit-волна на малых прогонах отработала и оплачена — 58 вызовов волновым драйвером 23–25.07 плюс 648 до драйвера, счёт по леджерам `~/books/gu-zhenren/**/*.db`) · coldrun-b фаза C заморожена чекпойнтом легитимно (D39.86; эталон денег/поведения — coldrun-a, read-only); развилка 0731 решена и исполнена (D39.87/91, код `553f1a3`). > - **Горизонт (D39.62/67, освежён D39.95):** **ДОБОР ИДЕАЛА** (первым прогоном: оси голоса 24 · авто-режим · цена 16; остаток арбитража банка = рецензент спорных кластеров при ре-пробе — D39.102). ⚠ **Испр. 05.09 (D39.198 п.5):** прежняя редакция держала здесь ТРИ предусловия, снятых владельцем, — жильцы ролей (149: разморозка ничего не разблокирует, пока идут доработки) · веса K1–K12 (13а: веса не нужны, мерить по узлам) · вне-претрейн чекпоинт (55: прогоняем на тех же текстах, оговорка — ограничение ВЫВОДА, а не требование новой книги) → ВТОРАЯ ПАРА живьём (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; закон-блок ОБЯЗАТЕЛЕН и ВНЕСЁН — D39.104 п.2, вайр-батч принят D39.199; glm-5 резерв; вахта маппинга эффорта pro — §Б-108) → судья gemini (Ф2, в движке НЕ построен — строка 33); канал B Mistral+grok; ~$0.85/ранобэ (D30.4) — ⚠ **ТРИГГЕР ПЕРЕ-КАЛИБРОВКИ СРАБОТАЛ 31.08** (испр. 02.09): платный прогон отработал и дал собственную оценку движка `projected_book_usd = 1.1377277707` на десяти главах при куплённых $0.436110; число 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 в долине — замер по трём прогонам); ⚠ **испр. 05.09: носители про эффорт `pro` БОЛЬШЕ НЕ ПРОТИВОРЕЧАТ** — и квирки (§3г), и `STACK.md` говорят одно: ручка ДОХОДИТ до модели с вендор-апдейта 13.08. Живой остаток один — вендор-сверка маппинга и ВЕЛИЧИНА эффекта, строка **237**(б); ⚠ ВЕСА pro сменились под тем же слагом (V4-Pro-0813, класс D39.61) — вахта-риг готов (остаток 172); покупки фазы Д на deepseek до 16.08 16:00 UTC — по старым ценам. ⚠ **ВЕСЬ банковый контур (банкнота+терминолог+классификатор) ВКЛЮЧЁН в shipping-c1 с `b8154cd`** — `enabled: true` у обоих гейтов и `classify_types: true`, бюджеты по $1.00 (прежде жил только ран-локальным конфигом книги; строка 140 — ⛔ его единственный вход `mining.contrast_path` в git ОТСУТСТВУЕТ, развёртывание обязано положить артефакт, иначе контур не исполняется вовсе, носитель — строка 251; сверка STACK.md 09.08 — факт шире прежней декларации «одна банкнота»); эскалация в shipping за `budget_usd: 0` (STACK.md §примечания). -> - **ЕДИНЫЙ БЭКЛОГ — секция «Бэклог» ниже** (одна таблица, единственный трекер; каждая петля обязана иметь диспозицию: решено / отложено-с-записью / отклонено; ведёт оркестратор). **СЧЁТ ОЧЕРЕДИ на 05.09 (скриптом по таблице — `python3 docs/scripts/counts.py`; обновлять при каждом лендинге):** всего **222** строк · зона бэкенд **106** строго / **149** широко (⚠ колонки счётчик читает С КОНЦА — испр. D39.116) · **блокеров очереди 0** (236 закрыта D39.175), платные прогоны разблокированы · «скоро» **93** (перечень — грепом по таблице, рукописный список снят D39.126) · гейт-строка эксп-22: 153 (плюс 150 — руки владельца; ⚠ 55 из гейтов СНЯТА — D39.198 п.5); строка 5 — остаток гейчен ре-пробой 74, носитель события теперь строка 188 (аудит D39.140); остальное «когда-нибудь». ⚠ Счёт — НИЖНЯЯ граница долга, не потолок (разбор — легенда таблицы ниже). +> - **ЕДИНЫЙ БЭКЛОГ — секция «Бэклог» ниже** (одна таблица, единственный трекер; каждая петля обязана иметь диспозицию: решено / отложено-с-записью / отклонено; ведёт оркестратор). **СЧЁТ ОЧЕРЕДИ на 05.09 (скриптом по таблице — `python3 docs/scripts/counts.py`; обновлять при каждом лендинге):** всего **223** строк · зона бэкенд **106** строго / **149** широко (⚠ колонки счётчик читает С КОНЦА — испр. D39.116) · **блокеров очереди 0** (236 закрыта D39.175), платные прогоны разблокированы · «скоро» **93** (перечень — грепом по таблице, рукописный список снят D39.126) · гейт-строка эксп-22: 153 (плюс 150 — руки владельца; ⚠ 55 из гейтов СНЯТА — D39.198 п.5); строка 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). ## 📌 СОСТОЯНИЕ ПАКОВ @@ -363,6 +363,8 @@ | 310 | ✅ **ИСПОЛНЕНО ЛЕНДИНГОМ 06.09 — акт `D39.213`, `201363b`; замерено, что дефект успел испортить числа приёмки: общий лог дал лишний пакет и СПРЯТАЛ ДВА СКИПА.** ⛔ **БАТАРЕЯ ПРИЁМКИ УМЕЛА ВЫДАТЬ ЛОЖНУЮ ЧИСТУЮ СПРАВКУ О ТОМ, ЧЕГО НИКТО НЕ МЕРИЛ.** `make check` пишет лог в ФИКСИРОВАННЫЙ путь `platform/.check.log` и удаляет его при зелени. Два прогона в одном каталоге — а 06.09 они шли — молча уничтожают улику друг друга: грепу нечего читать, и батарея печатает **«--- every test ran: no host condition was missing ---»** при ПЯТИ скипах. ⚠ **Наблюдено, не выведено** (прогон зоны v16: трижды `grep: .check.log: No such file or directory`, следом чистая справка, `MAKE-EXIT=0`). Код возврата остаётся нулём, потому что статус берётся от `go test` ДО грепов, ⇒ наружу выходит СПРАВКА О НЕИЗМЕРЕННОМ, а это хуже отсутствия справки: она закрывает вопрос, которого никто не задавал. **Девятая форма ложной зелени** (`D39.202`) в самом приборе приёмки. ⇒ заказ: батарея ПАДАЕТ ГРОМКО, если лога нет (либо имя файла уникально на прогон); мутация «снять лог» обязана краснить `gates.TestTheBatteryNamesEveryHostConditionItsTestsRead`, а не проходить. ⚠ Обходной путь на сегодня, применённый обеими сторонами: числа снимать своим `go test ./... -race -count=1 -v` в файл ВНЕ каталога зоны, куда чужой прогон не дотянется. ⭐ Нашла платформенная зона на СЕБЕ и намеренно НЕ чинила в составе дофикса, чтобы не смешивать предметы посреди лендинга | платформа | скоро | лог не найден ⇒ батарея красная, а не «всё прогналось» | **D39.212** | +| 311 | **ПОПРОГОННЫЙ ЛОГ БАТАРЕИ КОПИТСЯ: КАЖДЫЙ УПАВШИЙ ПРОГОН ОСТАВЛЯЕТ СВОЙ ФАЙЛ НАВСЕГДА.** Прежнее ФИКСИРОВАННОЕ имя само себя ограничивало — сколько бы прогонов ни падало, оставался ОДИН несвежий файл, и следующий его перезаписывал. Починка `D39.213` сняла коллизию вместе с этим свойством: `.check.log.` не убирает никто. ⚠ **Замер:** к утру 06.09 в корне зоны лежали ЧЕТЫРЕ таких файла нулевого размера от прибитых прогонов и стаб-проб (удалены зоной как её мусор). ⛔ **Опасность НЕ в коммите** — `platform/.gitignore:3`=`.check.log*` их держит, проверено. Опасность в том, что через месяц человек не отличит «мусор от прерванных прогонов» от «лога, который рецепт НАРОЧНО сохранил при падении, чтобы его прочли», — а второе законная и нужная функция, и она тонет в первом. ⇒ заказ: перед прогоном убирать логи, чей PID УЖЕ МЁРТВ (`[ -d /proc/$p ] || rm -f`). ⛔ Голый `rm -f .check.log.*` ставить НЕЛЬЗЯ: он снова снесёт улику параллельного прогона — ровно тот дефект, из которого всё и выросло. ⚠ Привязка к `/proc` линуксовая; зона на Linux, но это оговорка, а не мелочь. ⭐ **Названо ЗОНОЙ про собственную починку уже ПОСЛЕ того, как я её принял** — то есть ценой не приёмки, а совести | платформа | когда-нибудь (следующее касание прибора) | мёртвые логи убираются, живые не трогаются | **D39.213** | + *(Указатели на архив-слайсы хроники — бюллетенем «Архивы хроники» в CURRENT-STATE; здесь копий нет.)* ## Бэкенд