Ratify D39.134: land the migrate acceptance into the decisions log, index, current state, backlog rows 174 to 177, backend journal record, README and the platform ping

This commit is contained in:
heaven 2026-08-15 18:59:47 +03:00
parent d55edd48f1
commit 3e6764231c
6 changed files with 32 additions and 11 deletions

View file

@ -1,14 +1,14 @@
# Журнал прогресса
> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-08-15, голова D39.133 — передача №16→№17; приёмки S3.6/S3.7 — D39.127/129, приёмка P5 — D39.130, приёмка эмиттера — D39.131, приёмка P6+дофикс — D39.132). Оркестраторов ДВА (решение владельца 07.08): этот — движок/платформа/фронт/доки; параллельный (РОЛЬЮ, без номера — счётчик один, D39.112 п.6) — приёмка полигона. Одновременно не запускаются; CURRENT-STATE ведут оба, чужие строки не трогают. Норма изоляции панелей после инцидента отката чужих файлов — D39.113, гардрейлы в CLAUDE.md.
> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-08-15, голова D39.134 — приёмка бэкенд-migrate; передача №16→№17 — D39.133; приёмки S3.6/S3.7 — D39.127/129, приёмка P5 — D39.130, приёмка эмиттера — D39.131, приёмка P6+дофикс — D39.132). Оркестраторов ДВА (решение владельца 07.08): этот — движок/платформа/фронт/доки; параллельный (РОЛЬЮ, без номера — счётчик один, D39.112 п.6) — приёмка полигона. Одновременно не запускаются; CURRENT-STATE ведут оба, чужие строки не трогают. Норма изоляции панелей после инцидента отката чужих файлов — D39.113, гардрейлы в CLAUDE.md.
> - **Эра №15 закрыта — семь приёмок, все ПРИНЯТЫ и залендены**; лента, коммиты и разборы — D39.109123 (D-лог) и реестр нот `architecture/05-decisions-index.md`; снимок прежних бюллетеней этой шапки — архив-слайс `-08-02-04`.
> - **ЖИВОЕ:** полигон эксп-22/23 — дерево ЗАЛЕНДЕНО 10.08 с ревью-шапками приёмки №16 (числа подтверждены независимым пересчётом; **выводы НЕ ратифицированы** — владелец 10.08 признал постановку неполной), **фаза Д ИДЁТ (заказ 10.08)**: промт `docs/POLYGON_EXP2223_REDO_SESSION_PROMPT.md` (staged полигоном), потолок фазы $4.50 словом владельца (ход — секция «Полигон» ниже); при ратификации фазы Д в D-ноту: декой-правило + обязательный кросс-семейный опровергатель приёмки (одобрены владельцем 10.08) · фронт: S3.5S3.7 ИСПОЛНЕНЫ и ПРИНЯТЫ (D39.127/D39.129, лендинги `57e6bd1`/`3e465bd`), контракт **0.2.2** в каноне, i18n-механизм построен (ПТ-36 🔶) — **гейт S4 ПАЛ (P5 принят D39.130): S4-промт по слову владельца** (вход: экраны библиотеки/загрузки на живом `POST /books` · находки приёмки S3.7 · спек-правка 0.2.3) · **платформа P5 ИСПОЛНЕНА и ПРИНЯТА в три раунда (D39.130, `69d485a`)**: интейк книг `POST /books` с сентинелом хранилища · стоп/резюм с намерением в Postgres · Prometheus · Go-floor 1.26.6; развилка `book.yaml`: бета = форма Б (стройка следующим касанием зоны), движковая форма = строка 170 · **эмиттер ИСПОЛНЕН и ПРИНЯТ (D39.131, `9cfe080`, дофикс до лендинга)**: `events.jsonl` (StreamVersion 1.1) + exit 4 потолок / 5 graceful / полоса отказов 1019 + пер-вызовный репэйр-гейт; строки 103/135/165/102 закрыты; движковая половина PD-113/PD-196 построена D39.131 · **платформа P6 + дофикс ИСПОЛНЕНЫ и ПРИНЯТЫ (D39.132)**: потребительская половина шва (exit-коды одним словарём, `unit_done` присваиванием, scope потолка, TM_TRACE_ID против усыновления) + интейк формы Б + дев-стенд с сидом — **PD-113/PD-196 ЗАКРЫТЫ, шов закрыт с обеих сторон, major в регистре платформы 0**; деплой-порядок против деадлока v15 записан и исполним (`tmplatformctl books --migratable`), сам `tmctl migrate` — дерево бэкенда ЖДЁТ ПРИЁМКИ (строки 174/175 закрываются ею; exit 13 ратифицирован направлением) · эскроу (136) — следующим денежным промтом (П-18).
> - **Открыто на владельце:** Приложение А контракта (148: реконструкция с баннером или заново) · продуктовое слово «остановлена: лимиты» (В-3) · К-13/Ф-31 (paused_reason один — «свой потолок» и «нет кредита» неразличимы) · В-4/Ф-30 (глава без заголовка) · фри-тир PD-104 (ноль на бете против автогранта $5 с суточным потолком) · порог 116 · мини-проба флора 44 (одобрена, промт не выдан) · подпись денежного шага 46 · лист В-3+К-6 · авто-резюм paused (вопрос платформы) · приёмка S4 фронта (бежит) и бэкенд-migrate (дерево ждёт — закрывает 174/175) · **строка 172: цены DeepSeek ×2.34.7 с 16.08 — СТОП-решение и пере-пин, носителя-промта нет** · **СТОП ja-оси фазы Д** (гардрейл 18+ на `isekai_majutsushi_jp`, 3 чанка из 184: выбросить помеченное или сменить книгу) · **возражение Sol по проходу `tier` эксп-23** (пере-судить починенным ригом или оставить с записанным возражением — PROGRESS «Полигон») · ~~поле `title` в `BookIntake`~~ РЕШЕНО 14.08: ратифицировано в 0.2.3 (замечание 12 S3.5, владелец подтвердил; исполняет S4) · фронт-вопросы зонного журнала: В-7 (плотность интерфейса; держит и Ф-54 — обрезку центра на зуме) · В-8 (слово состояния в дереве) · **В-9 (какие языки интерфейса обещает продукт — механизм готов, ПТ-36)** · Ф-38 (вкладка «Замечания») · граница ПТ-33 для добавочных полей `BankTerm` (черновик S3.5/S3.6, D39.127 п.2б).
> - **ЖИВОЕ:** полигон эксп-22/23 — дерево ЗАЛЕНДЕНО 10.08 с ревью-шапками приёмки №16 (числа подтверждены независимым пересчётом; **выводы НЕ ратифицированы** — владелец 10.08 признал постановку неполной), **фаза Д ИДЁТ (заказ 10.08)**: промт `docs/POLYGON_EXP2223_REDO_SESSION_PROMPT.md` (staged полигоном), потолок фазы $4.50 словом владельца (ход — секция «Полигон» ниже); при ратификации фазы Д в D-ноту: декой-правило + обязательный кросс-семейный опровергатель приёмки (одобрены владельцем 10.08) · фронт: S3.5S3.7 ИСПОЛНЕНЫ и ПРИНЯТЫ (D39.127/D39.129, лендинги `57e6bd1`/`3e465bd`), контракт **0.2.2** в каноне, i18n-механизм построен (ПТ-36 🔶) — **гейт S4 ПАЛ (P5 принят D39.130): S4-промт по слову владельца** (вход: экраны библиотеки/загрузки на живом `POST /books` · находки приёмки S3.7 · спек-правка 0.2.3) · **платформа P5 ИСПОЛНЕНА и ПРИНЯТА в три раунда (D39.130, `69d485a`)**: интейк книг `POST /books` с сентинелом хранилища · стоп/резюм с намерением в Postgres · Prometheus · Go-floor 1.26.6; развилка `book.yaml`: бета = форма Б (стройка следующим касанием зоны), движковая форма = строка 170 · **эмиттер ИСПОЛНЕН и ПРИНЯТ (D39.131, `9cfe080`, дофикс до лендинга)**: `events.jsonl` (StreamVersion 1.1) + exit 4 потолок / 5 graceful / полоса отказов 1019 + пер-вызовный репэйр-гейт; строки 103/135/165/102 закрыты; движковая половина PD-113/PD-196 построена D39.131 · **платформа P6 + дофикс ИСПОЛНЕНЫ и ПРИНЯТЫ (D39.132)**: потребительская половина шва (exit-коды одним словарём, `unit_done` присваиванием, scope потолка, TM_TRACE_ID против усыновления) + интейк формы Б + дев-стенд с сидом — **PD-113/PD-196 ЗАКРЫТЫ, шов закрыт с обеих сторон, major в регистре платформы 0**; деплой-порядок против деадлока v15 записан и исполним (`tmplatformctl books --migratable`) · **`tmctl migrate` ИСПОЛНЕН и ПРИНЯТ (D39.134, `d55edd4`; панель 6 линз, 6/6 мутаций приёмки пойманы)**: exit 13 ФИНАЛИЗИРОВАН, строка 174 закрыта, 175 пере-скоуплена на дальний остаток, новая 177 — гигиена restore point; деплой эмиттер-бинаря РАЗБЛОКИРОВАН · эскроу (136) — следующим денежным промтом (П-18).
> - **Открыто на владельце:** Приложение А контракта (148: реконструкция с баннером или заново) · продуктовое слово «остановлена: лимиты» (В-3) · К-13/Ф-31 (paused_reason один — «свой потолок» и «нет кредита» неразличимы) · В-4/Ф-30 (глава без заголовка) · фри-тир PD-104 (ноль на бете против автогранта $5 с суточным потолком) · порог 116 · мини-проба флора 44 (одобрена, промт не выдан) · подпись денежного шага 46 · лист В-3+К-6 · авто-резюм paused (вопрос платформы) · приёмка S4 фронта (следующая в очереди №17; migrate принят D39.134) · **строка 172: цены DeepSeek ×2.34.7 с 16.08 — СТОП-решение и пере-пин, носителя-промта нет** · **СТОП ja-оси фазы Д** (гардрейл 18+ на `isekai_majutsushi_jp`, 3 чанка из 184: выбросить помеченное или сменить книгу) · **возражение Sol по проходу `tier` эксп-23** (пере-судить починенным ригом или оставить с записанным возражением — PROGRESS «Полигон») · ~~поле `title` в `BookIntake`~~ РЕШЕНО 14.08: ратифицировано в 0.2.3 (замечание 12 S3.5, владелец подтвердил; исполняет S4) · фронт-вопросы зонного журнала: В-7 (плотность интерфейса; держит и Ф-54 — обрезку центра на зуме) · В-8 (слово состояния в дереве) · **В-9 (какие языки интерфейса обещает продукт — механизм готов, ПТ-36)** · Ф-38 (вкладка «Замечания») · граница ПТ-33 для добавочных полей `BankTerm` (черновик S3.5/S3.6, D39.127 п.2б).
> - **Сделано (сводно)** — снимок ленты закрытых эр в [archive/PROGRESS-2026-08-04-09.md](archive/PROGRESS-2026-08-04-09.md); детали — D-лог и слайсы.
> - **Курс:** ОБЩНОСТЬ ✅ → КАЧЕСТВО БАНКА ✅ → ПАКЕТ-ЧЕКЕРОВ ✅ (D39.5978) → **ФРОНТ-ЭРА** (D39.81100: зоны живые, контракт API ратифицирован) → **шов/платформа/движковые блокеры построены** (D39.106123). Хвосты курса живут строками: 16 (edit-волна не гонялась НИ РАЗУ — держит и оси голоса 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 · веса K1K12 13а · вне-претрейн чекпоинт 55; остаток арбитража банка = рецензент спорных кластеров при ре-пробе 74 — D39.102) → ВТОРАЯ ПАРА живьём (ja→ru; преп 81) → МАСШТАБ → пилот Ф2.5 (гейт резюме-строки 80; строки 6268, 85) → Ф3 ридер-IDE (6971). **Стоячие:** 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.08 (сняты 14.08, строка 172):** цены deepseek с 16.08 16:00 UTC ×2.34.7 (пик/офф-пик; пик 0104·0610 UTC), у pro эффорт стал настраиваемым low/high/max (квирк 3а устарел — вахта §Б-108 сработала); покупки фазы Д на deepseek до 16.08 идут по старым ценам. ⚠ **ВЕСЬ банковый контур (банкнота+терминолог+классификатор) в shipping-c1 НЕ включён** — жив ран-локальным конфигом книги (строка 140; сверка STACK.md 09.08 — факт шире прежней декларации «одна банкнота»); эскалация в shipping за `budget_usd: 0` (STACK.md §примечания).
> - **ЕДИНЫЙ БЭКЛОГ — секция «Бэклог» ниже** (одна таблица, единственный трекер; каждая петля обязана иметь диспозицию: решено / отложено-с-записью / отклонено; ведёт оркестратор). **СЧЁТ ОЧЕРЕДИ на 15.08 (скриптом по таблице — `python3 docs/scripts/counts.py`; обновлять при каждом лендинге):** всего **137** строк · зона бэкенд **68** строго / **93** широко (169 пере-зонирована 14.08: движковая половина построена D39.122; 175 заведена 14.08; 176 заведена 15.08 — паника движка = exit 2, PD-212) (⚠ колонки счётчик читает С КОНЦА — испр. D39.116) · **блокеров очереди 0**, платные прогоны разблокированы · «скоро» **31** (перечень — грепом по таблице, рукописный список снят D39.126) · гейт-строки эксп-22: 55·153 (плюс 150 — руки владельца); строка 5 — остаток гейчен ре-пробой 74 (D39.102 п.2); остальное «когда-нибудь». ⚠ Счёт — НИЖНЯЯ граница долга, не потолок (разбор — легенда таблицы ниже).
> - **ЕДИНЫЙ БЭКЛОГ — секция «Бэклог» ниже** (одна таблица, единственный трекер; каждая петля обязана иметь диспозицию: решено / отложено-с-записью / отклонено; ведёт оркестратор). **СЧЁТ ОЧЕРЕДИ на 15.08 (скриптом по таблице — `python3 docs/scripts/counts.py`; обновлять при каждом лендинге):** всего **137** строк · зона бэкенд **69** строго / **93** широко (169 пере-зонирована 14.08: движковая половина построена D39.122; 175 заведена 14.08, пере-скоуплена D39.134; 176 заведена 15.08 — паника движка = exit 2, PD-212; 177 заведена 15.08 приёмкой migrate — гигиена restore point) (⚠ колонки счётчик читает С КОНЦА — испр. D39.116) · **блокеров очереди 0**, платные прогоны разблокированы · «скоро» **30** (перечень — грепом по таблице, рукописный список снят D39.126) · гейт-строки эксп-22: 55·153 (плюс 150 — руки владельца); строка 5 — остаток гейчен ре-пробой 74 (D39.102 п.2); остальное «когда-нибудь». ⚠ Счёт — НИЖНЯЯ граница долга, не потолок (разбор — легенда таблицы ниже).
> - Архивы хроники: `archive/PROGRESS-2026-07-04-10.md` (D31) · `-10-13` (D39.6-гигиена) · `-13-25` (стройка паков 1116, rerun2) · **`-25-31` (паки 1720 · мини-прогон · полигон-пакеты 58 · ToS · холодный прогон; D39.2658)** · **`-08-01-02` (сессии №9/№10: общность · качество банка · coldrun-b · открытие фронта/платформы; D39.5990, срез D39.105)** · **`-08-02-04` (сессии №11№13: ручки эффорта · стандарты · контракт API · платформа P0 · банк-арбитраж; D39.91105 + снимок шапки эры №15)**. Записи ниже — живой хвост (№14+, эра D39.106+).
## Бэклог (ЕДИНЫЙ, собран 26.07, актуализация 04.08 D39.99/D39.101; правки — только через оркестратора)
@ -47,7 +47,7 @@
| 82 | **Морфо-гейт РОДА** (C3: русский глагол прош. вр. при gender=hidden = механический спойлер-канал; «жалоба №1 читателей MTL»; python-сайдкар/pymorphy, связка с морфопроходом Decl из 73). **$0-прототип получен эксп-21** (`battery.check_gender`: карточки из подписанного сида, фильтр по именительному падежу, 86112 сверок/арм — D39.117); движковый гейт не построен | бэкенд | когда-нибудь (Ф2-гейты) | отдельный пак (с 52) | 06-реестр C3, research/12, D39.66, **D39.117** |
| 85 | **Пилот-преп добор** (к переупаковке PACKAGE4): Bertalign GOLD-пары + zh→ru spot-check (D29.2в; GPL-тулинг отдельно) · fidelity-каскад R2 shadow с корпус-подготовкой (D25.2) · exp08 v3 пере-съём COGS до фиксации budget_usd (D21.8) | полигон | когда-нибудь (Ф2.5) | пилот-преп-промт | D25, D29, D21.8, D39.66 |
| **— ПАК-21 «чекеры»: РАСТВОРЁН (D39.62); шестёрка исполнена 2/6 фазой 2 (D39.64: #11 · строка 26), остаток — ниже —** | | | | | |
| 93 | **Остатки строки 93 после пачки (D39.82):** строгий OffLanguage (36а, deferred D39.78) · 分之-разметка прежде стройки DC2 word↔word (полигон) · F4-хвост: `redrive --dry-run` обходит pre-flight, а `store.Open` мутирует SPOF-файл (миграции + recoverReservations; коммент «mutates nothing» неверен) — pre-flight и на dry-run при существующей БД либо read-only план; заодно stat-скип точной формой `fs.ErrNotExist`. ⚠ **Остаток НЕ однороден по гейту (сверка 02.08):** F4-хвост и строгий OffLanguage свободны, а `分之`-часть ГЕЙЧЕНА полигон-разметкой среза («строить вслепую против мандата» — якорь техдолга) ⇒ не подавать строку как «малое касание без гейта» | бэкенд/полигон | когда-нибудь | малое касание / полигон-слот | D39.78, D39.82 |
| 93 | **Остатки строки 93 после пачки (D39.82):** строгий OffLanguage (36а, deferred D39.78) · 分之-разметка прежде стройки DC2 word↔word (полигон) · F4-хвост: `redrive --dry-run` обходит pre-flight, а `store.Open` мутирует SPOF-файл (миграции + recoverReservations; коммент «mutates nothing» неверен) — pre-flight и на dry-run при существующей БД либо read-only план; заодно stat-скип точной формой `fs.ErrNotExist`; **обострение приёмкой D39.134:** на устаревшей БД `--dry-run` выполняет ПОЛНУЮ миграцию схемы БЕЗ restore point (write-open без шва migrate) — воспроизведено исполнением. ⚠ **Остаток НЕ однороден по гейту (сверка 02.08):** F4-хвост и строгий OffLanguage свободны, а `分之`-часть ГЕЙЧЕНА полигон-разметкой среза («строить вслепую против мандата» — якорь техдолга) ⇒ не подавать строку как «малое касание без гейта» | бэкенд/полигон | когда-нибудь | малое касание / полигон-слот | D39.78, D39.82 |
| 98 | **DC7 грейд-консистентность — пере-гейчен по сид-покрытию (D39.82):** замер пачки реален (25 юнитов/93 «разряд» ≠ канон «класс» на labels-финалах), НО финалы — прогоны до/вне сид-v2-канона, а грейды 甲/乙/丙/丁等 теперь approved-записи сида с decl-формами: mempostcheck флагнёт «разряд» промахом dst; строить DC7 только если ОСТАТОК девиаций переживёт сид-покрытие — замер на первом СИДОВОМ прогоне добора идеала; дом канона при стройке = book.yaml (как register_blocklist; ратифицировано D39.82 — НЕ dc-checkers.txt, посылка D39.79 исправлена) | бэкенд | когда-нибудь (гейт: первый сидовый прогон добора идеала) | замер остатка → решение | D39.79, D39.82, SMALLPACK §5-E1 |
| 28 | Банк-линт латиницы в dst или строгая форма языкового предиката (7 строк утечки алфавита проходят экран) | бэкенд | когда-нибудь (добор идеала — носитель «свежий мини-прогон» растворён D39.67, актуализация D39.79) | касание чекеров при данных добора (помнить оговорку 36а: «甲等 → класс Цзя» строгой формой не ловится) | D39.52, D39.62, D39.64, D39.79 |
| 28а | **Prompt-injection-проба входного текста** ($0): сепаратор ⟦TM-BANK-v1⟧ и якорь-подобные маркеры В ТЕКСТЕ КНИГИ — поведение среза/парсера/инъекции (книга = недоверенные данные; инструментов у моделей нет, но канал банкноты читает вывод по маркеру) | бэкенд/полигон | когда-нибудь | малая проба | сводка-ревью 26.07 |
@ -89,7 +89,7 @@
| 142 | **Механизм «гейты флагают → точечная починка по флагу» как прод-путь**: exp20 §3.3 — $0.0002/дефект, 12/12 (при ИДЕАЛЬНОЙ детекции); механизм конкурентов (research/22:179), у нас петля пака-16 за `enabled:false` (строка 13); детекторы «выдуманное слово»/«инверсия» прототипированы эксп-21. **ДИСПОЗИЦИЯ D39.117:** ОТКЛОНЁН как замена редактора (`C2/A_law` 3.75 Holm 0.0006; «$0.0002 чинит всё» мерилось при идеальных флагах и при реальной детекции пало), ПРИНЯТ формой «механический ПРЕ-ГЕЙТ перед редактором» — брак 5 клеток против 10/23 при половинной цене ($0.00298/$0.00602); ремонт ТОЛЬКО с банком (без банка ломает канон 0.917→0.895) | владелец → бэкенд | скоро (форма решена D39.117; стройка — бэкенд-промтом по команде владельца) | бэкенд-промт | D39.108, **D39.117** |
| 143 | **Абсорбция норматива судейства в `09-pilot-protocol.md`**: разброс инструмента ДО замера · объявленный порог различимости · MQM-lite/error-span первичен, pairwise только для стиля · декой обязателен · запрет судьи семейства жильца арма | полигон/оркестратор | скоро ($0) | правка дока | D39.108, exp20 §7 |
| 144 | **Вахта: grok `reasoning_tokens` ВНЕ `completion_tokens`** — формула цены харнессов может недосчитывать (до $0.0325 на exp20); вендор-сверка биллинга xAI при следующем прогоне с grok | полигон | когда-нибудь (следующий xAI-прогон) | вендор-чек | D39.108 (приёмка) |
| 146 | **Два техдолга движка без строки трекера** (свип 08.08): `prices_checked` (120 д) гейтит read-only `report` и $0-resume — свежесть цен проверять только на ПЛАТНОМ пути (`03-implementation-notes:244`) · `cache_ttl``cache_write_per_m`: цена записи в кэш задана под ОДИН TTL (5 м), при другом TTL расчёт врёт (`:246`). Оба жили только в справочнике якорей, то есть вне единственного трекера | бэкенд | когда-нибудь | малое касание | свип доков 08.08 |
| 146 | **Два техдолга движка без строки трекера** (свип 08.08): `prices_checked` (120 д) гейтит read-only `report` и $0-resume — свежесть цен проверять только на ПЛАТНОМ пути (`03-implementation-notes:244`) · `cache_ttl``cache_write_per_m`: цена записи в кэш задана под ОДИН TTL (5 м), при другом TTL расчёт врёт (`:246`). Оба жили только в справочнике якорей, то есть вне единственного трекера · **приёмка D39.134:** ценовой гейт держит и ДЕТЕКТОР самолечения деплоя — на стенде с протухшими ценами `status` даёт 10, а не 13, и цикл «поймал 13 → migrate → повтор» не наступает | бэкенд | когда-нибудь | малое касание | свип доков 08.08, D39.134 |
| 147 | **Транспортные частичные из research/21 без носителя** (свип 08.08): п.16 HTTP/1.1-escape на последней попытке как ДИАГНОСТИКА тихого усечения 28k [PARTIAL, GATED] · п.17 assistant-prefill continuation на `finish=length` вместо ре-рана всего вызова [PARTIAL, DEFER]. Оба помечены в ресёрче как отложенные и ни в одной строке трекера не появились | бэкенд/полигон | когда-нибудь | замер → решение | свип доков 08.08, research/21 §1617 |
| 148 | **Приложение А контракта потеряно инцидентом 08.08 и подлежит восстановлению** (D39.113): карта «вердикт движка → продуктовая фраза → ступень» была заполнена №14, откатилась к ЗАГОТОВКЕ с плейсхолдерами. Текст реконструкции держит оркестратор №15; решение владельца — брать реконструкцию черновиком С БАННЕРОМ «требует сверки» либо оставить заготовку и заполнять заново. Карта нужна фронту для замечаний (Ф-14) | владелец → оркестратор | скоро | решение владельца | D39.113, свип доков 08.08 |
| 149 | **Эксп-22 «панель жильцов»**: профиль-скрин (pass/fail пороги ДО замера; урок эксп-21 — скрин, убивший 2 из 12, скрином не был) → панель черновиков (слот несёт ~70% эффекта финала, мерился ТОЛЬКО flash за всю историю) → панель редакторов поверх замороженных черновиков (обязательный кандидат `gemini-3.1-pro` — аутлаер-гипотеза эксп-04) + шумовой пол + прямой `D_/A` довесками; агент-судейство под капом ≤60; невиданный zh-срез — повторный жёсткий заказ | полигон | **ИСПОЛНЕН и заленден 10.08** (приёмка №16; промт — `archive/prompts/POLYGON_TENANT_PANEL_SESSION_PROMPT_2026-08-08.md`); выводы заморожены до фазы Д — закрыть строку при ратификации | прогон по промту → ратификация | **D39.117**, приёмка №16 |
@ -117,9 +117,9 @@
| 172 | **Пере-пин цен DeepSeek + решение time-based прайсинга** (вендор-факт 13.08, снят 14.08 с `api-docs.deepseek.com/quick_start/pricing`+news260813): с 16.08 16:00 UTC пик/офф-пик (пик 0104·0610 UTC, офф-пик = 50%): пик flash $0.44/$1.32 in/out (было $0.14/$0.28), pro $1.32/$3.96 (было $0.435/$0.87), cache-hit pro $0.0220.044 против $0.003625 (×612); наша таблица `models.yaml` (факт 2026-07-10) протухает 16.08, схема прайсинга плоская — time-based не выражает. Делать: пере-пин цен + `prices_checked` + СТОП-решение владельца «как леджеру жить с пик/офф-пик» (консервативный пин пиком против офф-пик+scheduler строки 60 — её ценность выросла до ×2 COGS) + пере-калибровка ставки $0.03/глава (166/П-10) + exp08 v3 (85) из опции стал обязателен до budget_usd | владелец → бэкенд | **скоро (цены протухают 16.08)** | СТОП-решение → правка данных + exp08 v3 | вендор 13.08, строка 60, D30.4 |
| 171 | **Число символов книги — от движка** (PD-177 платформы: `character_count` интейка точен только для UTF-8; GB18030/UTF-16 движок декодирует сам — цифра платформы на них неверна, для UTF-16 занижена ~вдвое): счёт символов в манифест (рядом `source_bytes`/`encoding`) либо перерасчёт платформой после разбора | бэкенд | когда-нибудь | малое касание (манифест) | П-13 платформы, PD-177, приёмка P5 |
| 173 | **`backupStamp` секундной точности**: два `translate` в одну секунду дают коллизию имени бэкапа и exit 1, маскируя класс «проект занят» (12) — метка до наносекунд/uniquify либо распознавать коллизию явно; преexisting, вскрыт ревью эмиттер-пака | бэкенд | когда-нибудь | малое касание | приёмка D39.131 |
| 174 | **Деадлок деплоя v15**: read-only `status` отказывает схеме старее бинаря, а платформа зовёт его ПЕРЕД каждым спавном и для settle ⇒ апгрейд движка запирает ВСЕ существующие книги (write-команда, которая мигрировала бы, не наступает никогда); решить ДО деплоя эмиттер-бинаря на платформу: движковая $0-команда `tmctl migrate` либо деплой-шаг «write-команда по каждой книге» | владелец → бэкенд/платформа | **скоро (гейт деплоя эмиттер-бинаря)** | отдельное решение | приёмка D39.131 (шов-ревьюер) |
| 175 | **Деплой движка «в полёте» — ОСТАТОК после ресёрча 14.08** (внешний агент, две итерации: сначала абстрактная индустрия-съёмка, затем вердикт по нам; вывод — exact-match читателей на деньгах = осознанный fail-closed, корень не выдёргивать, приделать дверь). Ближняя половина УШЛА в работу: типизированная ошибка version-mismatch у `status` + money-тест — промт migrate; правило свипа «мигрировать только книги БЕЗ открытых попыток» + settle ЗАПИНЕННЫМ бинарём попытки (`run_attempts.engine_binary`, строка 139) — аддендум P6. Дальний остаток: (а) при СЛЕДУЮЩЕМ бампе схемы проставить в файл книги `application_id` + `min_reader_version` — данные-задел под окно совместимости, ~0 логики; (б) GC бинарей: удалять не пиненные ни одной незакрытой попыткой, последние 23 релиза держать для отката; (в) окно совместимости читателей / пин уровня книги — строить ТОЛЬКО по триггерам: много тенантов · бампы схемы еженедельно+ · потребители `status` кроме платформы | платформа/бэкенд | когда-нибудь (по названным триггерам; (а) — попутно первым бампом схемы) | данные-задел + малые касания | владелец 14.08, ресёрч 14.08, строки 139/174 |
| 176 | **Паника движка неотличима от «completed with flags»**: непойманная паника Go-рантайма = exit 2, а 2 — «успешный» код контракта; платформа записывает `ready` для прогона, упавшего посреди работы (деньги целы — расчёт из `status --json`; врёт статус). Лечение движковое: `recover` в main tmctl либо другой номер для флагов; найдено адверсариальным ревью P6 (PD-212 регистра платформы) | бэкенд | когда-нибудь (следующее касание exit-контракта) | малое касание | D39.132, PD-212 |
| 175 | **Деплой движка «в полёте» — ДАЛЬНИЙ ОСТАТОК** (ближняя половина — типизированный version-mismatch у `status` + money-тест — ИСПОЛНЕНА паком migrate, принята D39.134; правило свипа «мигрировать только книги БЕЗ открытых попыток» + settle ЗАПИНЕННЫМ бинарём попытки — аддендум P6, D39.132). Остаток: (а) при СЛЕДУЮЩЕМ бампе схемы проставить в файл книги `application_id` + `min_reader_version` — данные-задел под окно совместимости, ~0 логики; (б) GC бинарей: удалять не пиненные ни одной незакрытой попыткой, последние 23 релиза держать для отката; (в) окно совместимости читателей / пин уровня книги — строить ТОЛЬКО по триггерам: много тенантов · бампы схемы еженедельно+ · потребители `status` кроме платформы. Археология захода — ресёрч 14.08 (вывод: exact-match читателей на деньгах = осознанный fail-closed, корень не выдёргивать, приделать дверь) | платформа/бэкенд | когда-нибудь (по названным триггерам; (а) — попутно первым бампом схемы) | данные-задел + малые касания | владелец 14.08, ресёрч 14.08, строка 139, D39.134 |
| 176 | **Паника движка неотличима от «completed with flags»**: непойманная паника Go-рантайма = exit 2, а 2 — «успешный» код контракта; платформа записывает `ready` для прогона, упавшего посреди работы (деньги целы — расчёт из `status --json`; врёт статус). Лечение движковое: `recover` в main tmctl либо другой номер для флагов; найдено адверсариальным ревью P6 (PD-212 регистра платформы) · тем же касанием exit-контракта — usage-строка `invocation.go` не знает migrate/backup/seed-lint (замороженный контракт; чинить разом — D39.134 п.3) | бэкенд | когда-нибудь (следующее касание exit-контракта) | малое касание | D39.132, PD-212, D39.134 |
| 177 | **Гигиена restore point `tmctl migrate`** (находки приёмки ВНЕ карты отчёта; фикс-лист ФМ — запись приёмки 15.08, PROGRESS «Бэкенд»): ретрай в ту же секунду после сорванного шага = exit 1 «backup already exists» вне полосы — ровно на цикле самолечения платформы · kill -9 посреди шва оставляет РВАНУЮ копию под легитимным именем (ручной откат по ней = потеря данных; лечение — temp+rename) · копии restore point не подчищаются (повтор после срыва копит их) · SIGINT/SIGTERM в migrate не прерывают (ctx не доезжает) · комментарий migrate.go «no money touched» на no-op неверен (recovery зануляет leftover reserved) | бэкенд | когда-нибудь (следующее касание migrate/бэкапа) | малое касание + тесты | D39.134, приёмка №17 |
| 49 | **Этапы Б+В спеки D15.2** (content-addressed resume / `guard_hash` — D39.31 сознательно не строил) ; этап В = tmctl export-контракт D29.1 (annot-v1 · цвет-мап+rollup · политика красных fail-closed) + операторский протокол-документ релиза гендер-твиста (D5.1): сам механизм УЖЕ построен — until_ch-правка → точечный re-edit со сметой и $0-пере-пином (`repin.go`/`rebill.go`, D39.42 п.5/D39.45) | бэкенд | скоро (ПОДТЯНУТА D39.81: annot-v1 = источник замечаний для фронта — критический путь подключения) | отдельное решение (annot-половина — по контракту 14, D39.99) | D39.34(4), D33 п.5, D39.81 |
| 49а | **ALTER-шаги миграций v8v14 не идемпотентны вопреки шапке `migrate.go:9-11`** (полу-применённая БД не сходится; счётчик версий скрывает) — находка критика полноты пака-19 | бэкенд | когда-нибудь | отдельное решение | D39.56, PACK19_BUILD §6.9 |
| 50 | F3-остаток идемпотентности | бэкенд | когда-нибудь | отдельное решение | D39.34(4) |
@ -303,6 +303,8 @@
**§6. Чего НЕ делал (осознанно).** Строку 49а не чинил (не мой скоуп; применение шага и так атомарно — доказано тестом). Секундную метку `backupStamp` (строка 173) не менял — свою половину вывел из-под неё именем, коллизия `translate``translate` остаётся как была. `--json` у `migrate` не делал: решение платформы читается ЧИСЛОМ (0 / 12 / 13), а человеческая строка уже несёт переход — **но у этого довода есть названная дыра** (критик второго захода): нулём «мигрировал» и «уже был на голове» не различить, а это ровно то, что производит неверный порядок деплоя (сметание старым бинарём даёт зелёный прогон при живом деадлоке). Если платформа захочет различать программно — это машинная поверхность на одну строку, решение владельца/оркестратора. Замороженную usage-строку `invocation.go` не трогал (её пинит тест; `backup`/`seed-lint` в ней тоже нет — вопрос оркестратору, чинить ли разом). `store.SchemaVersion` завёл и УБРАЛ, когда шов сделал его беспотребительским (мёртвую ссылку на него в комментарии теста критик поймал — вычищена). **Унаследованное, назвать и не чинить молча:** `config.LoadBook` по-прежнему статит `source_file`/`glossary_seed`/`mined_*`, поэтому книгу с заархивированным исходником не мигрировать (exit 10), хотя деньги её БД целы — гейт на ТЕКСТ на схемной операции, преexisting; `dbExists` в `migrateCmd` определяется ДО флока (TOCTOU самоограничен: созданная в окне БД уже на голове, шов не выстрелит; удалённая — exit 1 и ничего не применено). Дерево НЕ коммитил.
**Запись оркестратора №17, 15.08 — ПРИЁМКА ПАКА «tmctl migrate» ПРОВЕДЕНА, ПРИНЯТО, залендено `d55edd4` (решения — D39.134).** Панель 6 линз в изолированных копиях без .git (слепой вердикт по заказу+диффу · охота вне карты · пере-ран клеймов · собственные мутации · инвентарь каналов шва по уроку D39.132 · кросс-модельный текст-аудит Opus). Все 8 пере-раненных клеймов сошлись исполнением; 6/6 мутаций приёмки пойманы; вердикты всех линз — «принять». **Фикс-лист ФМ (носитель состава — эта запись; строки 93/146/176/177 ссылаются):** ФМ-1 комментарий `migrate.go` «Idempotent … no money touched» неверен на no-op (recovery зануляет leftover reserved — сам отчёт §4 это и описывает) · ФМ-2 ретрай migrate в ту же секунду после сорванного шага = exit 1 «backup already exists» вне полосы · ФМ-3 kill -9 посреди шва = рваный restore point под легитимным именем + копии не подчищаются (лечение temp+rename + подчистка) · ФМ-4 SIGINT/SIGTERM в migrate не прерывают (ctx не передан) · ФМ-5 чужой флаг (`--json`) парсится молча и игнорируется · ФМ-6 usage-строка `invocation.go` без migrate/backup/seed-lint (чинить разом касанием 176) · ФМ-7 `redrive --dry-run` мигрирует без restore point (обострение строки 93). **Поправки к отчёту пака (чужой текст не редактирую):** `store.go:226` → фактически `:245` · «PROGRESS.md:233» → `:234`, и перечень принадлежит §4 записи эмиттера, не CURRENT-STATE · `deploy/README.md:127``:131` · `parse.go:76,300-304` → ветка на `:315-320` · скипов батареи три, не два (`TestMinerFullBookParity` тоже молчит без стенд-данных) · «зоны сошлись на 13 независимо» — снято (провенанс — D39.134 п.2а) · клейм §5(в) о неверном порядке деплоя платформы был верен на 14.08 и закрыт их дофиксом P6 до приёмки. Расхождение `committed ≠ SUM(checkpoints)` на стендовой книге acceptance (0.40808 против 0.40537) — НЕ дефект пака: направление committed ≥ SUM легитимно после явного `redrive` (исключение D15.3, README бэкенда §Инварианты-1). Флейк `TestKillMinus9LosesAtMostOneCall` под чужой CPU-нагрузкой — известный класс, не касание пака. Живая проба «13 → migrate → 0» на стендовой книге acceptance недемонстрируема целиком из-за протухшего `pipeline-acceptance.yaml` (exit 10 до и после; преexisting, ровно класс строки 146).
*(Закрытая хроника пакетов №0№4 (0410.07) перенесена в [archive/PROGRESS-2026-07-04-10.md](archive/PROGRESS-2026-07-04-10.md) — ревизия D31.)*
*(Хроника пакетов 1112.07 (пакет-5, D15.2-этап-А, санитайзер-фикс D33) — в [archive/PROGRESS-2026-07-10-13.md](archive/PROGRESS-2026-07-10-13.md).)*

View file

@ -17,7 +17,7 @@
- `research/` — фактура ресёрчей 0127; у принятых — ревью-шапки, часть тел под ⚠ superseded: **читай баннер прежде содержимого**. Ключевые для навигации: 15 голос · 16 ридер-IDE · 17 внешняя критика · 18 рычаги качества · 19 нарезка · 20 банк-майнинг · 21 обзор транспорта · 22 доменные харнессы · 23 шов движок↔платформа (транспорт superseded D39.106) · 25 холодное ревью шва — форма D39.106, отвергнутые альтернативы, требования к эмиттеру (читать перед любым кодом стыка) · 24 арбитраж банка (ПРИНЯТ D39.102: консилиум закрыт классом, вход фикс-пака банка — §G) · 26 официальные практики Anthropic (D39.121: записка-план, сниппеты хендоффов, карта «уже делаем/перенять»).
- [PROGRESS.md](PROGRESS.md) — журнал: CURRENT-STATE + **ЕДИНЫЙ БЭКЛОГ** (единственный трекер) + живой хвост хроники. НЕ источник решений.
- `scripts/counts.py`**производные числа доков считаются им, а не руками** (голова по трём носителям · счёт очереди и зон · вес открытых строк регистра платформы · полнота реестра нот); `--check` даёт ненулевой код на расхождении; `--lint` — линтер file:line-якорей живых доков (D39.126). Его же зовёт зонный хук `scripts/githooks/pre-commit` при коммите, задевающем D-лог или PROGRESS — предупреждает, не блокирует. Заведено по D39.112 п.5б: голова отставала трижды у трёх разных оркестраторов.
- Активные хендофф-промты сессий (состав обновляется при каждом лендинге — норма D39.80): [ORCHESTRATOR_SESSION_PROMPT.md](ORCHESTRATOR_SESSION_PROMPT.md) (роль/нормы; состояния не дублирует) · **Полигон: [POLYGON_EXP2223_REDO_SESSION_PROMPT.md](POLYGON_EXP2223_REDO_SESSION_PROMPT.md)** — фаза Д доводки эксп-22/23 ИДЁТ (заказ владельца 10.08, потолок фазы $4.50; выводы 22/23 заморожены до неё) · [POLYGON_PACKAGE4_SESSION_PROMPT.md](POLYGON_PACKAGE4_SESSION_PROMPT.md) (отложен) . **Фронт: [../frontend/docs/S4_SESSION_PROMPT.md](../frontend/docs/S4_SESSION_PROMPT.md)** — S4 выдан 14.08 (гейт пал D39.130, запуск одобрен владельцем: библиотека/загрузка/прогресс + спек-правка 0.2.3) · **Платформа: активного промта НЕТ** — P6 + дофикс ИСПОЛНЕНЫ и ПРИНЯТЫ (D39.132, промты в `platform/docs/archive/`); следующий пак — P7 (читающая поверхность), промт после приёмки бэкенд-migrate · **Бэкенд: [BACKEND_MIGRATE_SESSION_PROMPT.md](BACKEND_MIGRATE_SESSION_PROMPT.md)** — `tmctl migrate` ИСПОЛНЕН, но НЕ ПРИНЯТ: код в main коммитом владельца `535581d` (15.08, слово владельца — не инцидент; вместе со снапшотом живой работы S4) — **приёмка оркестратора ПОСТ-ФАКТУМ обязательна ДО деплоя**; отчёт — PROGRESS «Бэкенд». Эмиттер шва ИСПОЛНЕН и ПРИНЯТ (D39.131, промт в архиве). Все ОТРАБОТАННЫЕ промты — в `archive/prompts/`, отчёты с ревью-шапками — в `archive/reports/`; статусы паков — CURRENT-STATE и D-лог, здесь не дублируются. Зонные журналы фронта/платформы — `frontend-PROGRESS.md` / `platform-PROGRESS.md` в их зонах (прогресс зон только там, D39.100).
- Активные хендофф-промты сессий (состав обновляется при каждом лендинге — норма D39.80): [ORCHESTRATOR_SESSION_PROMPT.md](ORCHESTRATOR_SESSION_PROMPT.md) (роль/нормы; состояния не дублирует) · **Полигон: [POLYGON_EXP2223_REDO_SESSION_PROMPT.md](POLYGON_EXP2223_REDO_SESSION_PROMPT.md)** — фаза Д доводки эксп-22/23 ИДЁТ (заказ владельца 10.08, потолок фазы $4.50; выводы 22/23 заморожены до неё) · [POLYGON_PACKAGE4_SESSION_PROMPT.md](POLYGON_PACKAGE4_SESSION_PROMPT.md) (отложен) . **Фронт: [../frontend/docs/S4_SESSION_PROMPT.md](../frontend/docs/S4_SESSION_PROMPT.md)** — S4 выдан 14.08 (гейт пал D39.130, запуск одобрен владельцем: библиотека/загрузка/прогресс + спек-правка 0.2.3) · **Платформа: активного промта НЕТ** — P6 + дофикс ИСПОЛНЕНЫ и ПРИНЯТЫ (D39.132, промты в `platform/docs/archive/`); следующий пак — P7 (читающая поверхность), промт после приёмки бэкенд-migrate · **Бэкенд: активного промта НЕТ** — `tmctl migrate` ИСПОЛНЕН и ПРИНЯТ (D39.134, лендинг `d55edd4`; промт в `archive/prompts/`), деплой эмиттер-бинаря разблокирован. Эмиттер шва ИСПОЛНЕН и ПРИНЯТ (D39.131, промт в архиве). Все ОТРАБОТАННЫЕ промты — в `archive/prompts/`, отчёты с ревью-шапками — в `archive/reports/`; статусы паков — CURRENT-STATE и D-лог, здесь не дублируются. Зонные журналы фронта/платформы — `frontend-PROGRESS.md` / `platform-PROGRESS.md` в их зонах (прогресс зон только там, D39.100).
- Зоны фронта (чужие, читать при касании стыка; каждая ведёт СВОЙ зонный бэклог — единый бэклог их строк не принимает, D39.84): [../frontend/](../frontend/) — веб-интерфейс: промт фронт-сессий S0S7 + [STACK_DECISIONS.md](../frontend/docs/STACK_DECISIONS.md) (пины версий точными числами и ловушки, сверены с вебом 02.08) + [BACKLOG.md](../frontend/docs/BACKLOG.md) · [../platform/](../platform/) — SaaS control plane: README + [BACKLOG.md](../platform/BACKLOG.md) (П-1..П-14) + `docs/` (зонный журнал `platform-PROGRESS.md` · регистр дефектов · архив промтов P0P5).
- `archive/` — история ([правила архива](archive/README.md)): закрытые промты (`prompts/`) · отчёты с ревью-шапками (`reports/` — на них ссылаются приёмки) · исполненные арх-доки (`architecture/`) · слайсы хроники `PROGRESS-*.md`. Инструкции оттуда не исполнять.
- Диаграммы: [../backend/docs/components.puml](../backend/docs/components.puml) · [../backend/docs/pipeline.puml](../backend/docs/pipeline.puml) — дом рядом с кодом (D39.80), правятся бэкендом одним коммитом с кодом; вручную НЕ рендерить (владелец смотрит PlantUML-расширением VS Code).

View file

@ -186,3 +186,4 @@
| D39.131 | 14.08 | Приёмка эмиттер-пака (9cfe080, дофикс до лендинга): events.jsonl + exit 4/5/полоса 10-19 + пер-вызовный репэйр-гейт; строки 103/135/165/102 закрыты; ратификации: сужение класса 11, eta из темпа прогона, unit_done присваиванием (предложение платформе), кап эскалации оставлен | ЖИВОЕ: движковая половина PD-113/PD-196 построена — остаток у платформы (П-15: маппинг exit-кодов/scope/присваивание); деадлок деплоя v15 = строка 174 ДО деплоя бинаря; StreamVersion 1.1 | жив | шов деньги бэкенд платформа |
| D39.132 | 15.08 | Приёмка платформы P6 + дофикс: потребительская половина шва (exit-словарь, unit_done присваиванием, scope, TM_TRACE_ID) + интейк формы Б + дев-стенд; PD-113/PD-196 закрыты, 0 major; ратификации: day_usd вне шаблона (владелец), пере-подпись PLATFORM_DIRECTION §3, второй гейт батареи, exit 13 направлением, PD-241-направление; фикс-лист ФП-1..8 закрыт дофиксом (exit 2 status-канала) | ЖИВОЕ: шов закрыт с обеих сторон; строки 174/175 + финал exit 13 — приёмкой бэкенд-migrate; строка 176 движку (паника = exit 2, PD-212) | жив | шов деньги платформа приёмка |
| D39.133 | 15.08 | Закрытие сессии оркестратора №16, передача №17; первые задачи: приёмка migrate пост-фактум (код в main без приёмки, до деплоя) → строка 172 → приёмка S4 → промт P7 | ЖИВОЕ: очередь — CURRENT-STATE | жив | хендофф оркестратор |
| D39.134 | 15.08 | Приёмка бэкенд-пака tmctl migrate (d55edd4, панель 6 линз, 6/6 мутаций пойманы): строка 174 закрыта, 175 пере-скоуплена, exit 13 финализирован; ратификации: отказ write-пути БД новее бинаря, restore point под локом вне секундного неймспейса; поправка провенанса «зоны сошлись независимо» (платформа читала 13 из дерева движка) | ЖИВОЕ: строка 177 — гигиена restore point; дописки 93/146/176; платформе — PD-201 можно строить, мёртвый текст ошибки в deploy/README и П-1 (вход P7) | жив | бэкенд приёмка шов деплой |

View file

@ -1,4 +1,4 @@
# Журнал решений оркестратора — контракт D1D39.133 (живой файл: карта · эрраты · живые тела · голова D39.106+; тела закрытых эр — в слайсах `docs/archive/architecture/`, указатель ниже; реестр всех нот — `05-decisions-index.md`)
# Журнал решений оркестратора — контракт D1D39.134 (живой файл: карта · эрраты · живые тела · голова D39.106+; тела закрытых эр — в слайсах `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 живёт ниже в этом файле (голова D39.106+).
@ -514,3 +514,15 @@
## D39.133 — ЗАКРЫТИЕ СЕССИИ №16, передача №17 (15.08). ✅
Сессия №16 (0915.08): лендинги D39.126132 (докс-пак 167 · приёмки S3.7 · P5 в три раунда · эмиттер шва · P6+дофикс). Состояние, очередь и открытое на владельце — CURRENT-STATE и D39.132 п.3 (не дублируются). Первые задачи №17 по очереди: **приёмка бэкенд-migrate ПОСТ-ФАКТУМ** (код в main коммитом владельца `535581d` БЕЗ приёмки — обязательна до деплоя; закрывает строки 174/175, финализирует exit 13 по эррате шапки) → строка 172 (цены DeepSeek 16.08 — на владельце) → приёмка S4 → промт P7 платформы. Роль-промт обновлён этим же коммитом. (15.08.2026, оркестратор №16) ✅
## D39.134 — ПРИЁМКА БЭКЕНД-ПАКА «tmctl migrate» ПРИНЯТА И ЗАЛЕНДЕНА (`d55edd4`): строка 174 закрыта, 175 пере-скоуплена, exit 13 ФИНАЛИЗИРОВАН; ратификации — отказ write-пути БД новее бинаря · restore point под локом вне секундного неймспейса (15.08). ✅
**0. Контекст git.** Темп-коммит владельца `535581d` (снапшот всего дерева, слово владельца — не инцидент) откачен локальным soft-reset; содержимое пересобрано скоуп-раздельными коммитами (`8929566` gitignore · `3b1fe9a` док-закрытия №16 · `d55edd4` этот пак); origin/main на момент лендинга держит старую линию — развязка на владельце (force-push его словом, локально не пуллить).
**1. Приёмка исполнением (панель 6 линз в изолированных копиях без .git; $0, только агент-токены).** Все 8 пере-раненных клеймов отчёта сошлись: батарея EXIT=0 · 810 тестов (+16 воспроизведён по диффу) · голден бит-в-бит · живые пробы на КОПИЯХ стендовых БД v14→v15 и v7→v15 (деньги до цента ДВУМЯ путями: status/report и независимый SQL; 0.126068 / 0.408077 не сдвинулись) · лок = 12 без restore point · v99 = 13 в обе стороны, файл байт-в-байт. 6/6 СОБСТВЕННЫХ мутаций приёмки (шов на no-op · снятие класса 13 · снятие гарда newer · зануление committed · перестановка found/expected в токене · слом идемпотентности) пойманы тестами пака. Мутационные числа автора («8/8», «10/10», «2.6 ГБ-репро») — со слов сессии, независимо не пере-ранены; несущее свойство «шов не под бюджетом пакета» запинено тестом пака и мутацией №1 приёмки. Механика, фикс-лист ФМ-1..7 и поправки цитат отчёта — запись приёмки в PROGRESS «Бэкенд» 15.08 (состав — там).
**2. Ратификации.** (а) **exit 13 = `schema_mismatch` ФИНАЛИЗИРОВАН** (эррата шапки исполнена): полоса отказов = 10 конфиг · 11 источник · 12 лок · **13 схема** · 19 безымянный; машинный токен `schema_mismatch found=N expected=M`; found<expected чинится `tmctl migrate`, found>expected — только новым бинарём (migrate не врёт успехом). ⚠ **Поправка провенанса** (поймано кросс-модельной линзой панели): формулировка «обе зоны сошлись на числе НЕЗАВИСИМО» (D39.132 п.2г и эррата шапки 15.08) неверна — платформа прочитала 13 из незакоммиченного дерева движка и сама это записала (`platform/internal/ingest/exit.go:63-64`); на силу ратификации не влияет (финализация состоялась этой приёмкой), клейм независимой сходимости снят. (б) **Отказ write-пути БД новее бинаря** — расширение сверх буквы заказа, названное автором явно, РАТИФИЦИРОВАНО: тихое письмо старым кодом в новую схему — опаснейшая половина того же факта, и без него самолечение платформы зацикливалось бы на ложном успехе. (в) **Restore point** — под локом, только при реально применяемом шаге, имя `<метка>-pre-migrate.db` вне секундного неймспейса платного пути. (г) exit 19 из migrate не производится (неопознанный store-отказ и провал снятия restore point = exit 1 ВНЕ полосы) — принято направлением «полоса обещает „ничего не произошло, жди"», хвосты честности — фикс-лист.
**3. Строки.** 174 ЗАКРЫТА (деадлок разорван; деплой-порядок «дренаж → новый бинарь → migrate ИМ → прогоны» записан платформой дофиксом P6 — их README уже верен, клейм §5(в) отчёта устарел к приёмке, не ошибочен). 175 ПЕРЕ-СКОУПЛЕНА: ближняя половина (типизированный mismatch у status + money-тест) исполнена паком, строка остаётся на дальний остаток (а)(в). Новая 177 — гигиена restore point (находки панели ВНЕ карты отчёта: ретрай в ту же секунду после сорванного шага = exit 1 «backup already exists» на цикле самолечения · kill -9 посреди шва оставляет РВАНУЮ копию под легитимным именем · копии не подчищаются · SIGINT в migrate не прерывает). Дописки тем же касанием: 93 (`redrive --dry-run` на устаревшей БД мигрирует БЕЗ restore point), 146 (ценовой гейт держит и ДЕТЕКТОР самолечения: на протухших ценах `status` даёт 10, не 13 — цикл «поймал 13» не наступает), 176 (usage-строка invocation.go не знает migrate/backup/seed-lint — чинить разом тем же касанием exit-контракта).
**4. Платформе (пинг в зонный журнал):** движковая половина финальна — PD-201 (самолечение «поймал 13 → migrate → повтор») можно строить; их хвосты: `deploy/README.md:131` и П-1 зонного бэклога несут МЁРТВЫЙ текст ошибки схемы («schema vN … expects vM» движок больше не печатает) · комментарий-образец `runs.go:45` зовёт голый `tmctl` из PATH (копипаст = тихий no-op старым бинарём при живом деадлоке). Всё — вход промта P7. (15.08.2026, оркестратор №17) ✅

View file

@ -1,3 +1,5 @@
> ⚠ **АРХИВ — ОТРАБОТАН.** Исполнен бэкенд-сессией 14.08.2026, принят приёмкой оркестратора №17 (D39.134, лендинг `d55edd4`, 15.08): строка 174 закрыта, exit 13 финализирован. Отчёт — PROGRESS «Бэкенд» 1415.08; фикс-лист приёмки — там же. Инструкции отсюда не исполнять.
# Промт: бэкенд, малое касание — `tmctl migrate` (строка 174: деадлок деплоя v15)
> Выдан оркестратором №16 14.08.2026. Запуск — по слову владельца (запуск = ратификация

View file

@ -1822,3 +1822,7 @@ PD-113 как названная и оценённая альтернатива.
## Пинг оркестратора №16 — 09.08.2026 (форма DEFECT_REGISTER, строка 167)
Реестр дефектов дорос до 171 строки одной таблицей; докс-аудит D39.125 (worksheet `docs/archive/reports/DOC_AUDIT_INVENTORY_2026-08-09.md`, жалоба «зонная изоляция прячет половины тем») просит форму: разложить таблицу на СЕКЦИИ (open по весу · accepted-risk · fixed по эрам паков), сохранив построчную форму `| PD-N | … |``docs/scripts/counts.py` ключуется формой строки, не позицией, секции его не ломают. Заведите П-строкой в свой BACKLOG, исполнение — попутно следующим паком, НЕ срочно. Вопросы — через владельца.
## Пинг оркестратора №17 — 15.08.2026 (migrate принят, D39.134 — движковая половина самолечения ФИНАЛЬНА)
Бэкенд-пак `tmctl migrate` принят и заленден (`d55edd4`): exit 13 = `schema_mismatch` финализирован, токен `schema_mismatch found=N expected=M` на stderr стабилен, write-путь тоже отказывает БД новее бинаря. Ваш PD-201 (самолечение «поймал 13 → migrate → повтор») теперь можно строить — движок больше не сдвинется под ногами; строку реестра, ссылающуюся на «движкового migrate ещё нет», обновите. Хвосты вашей зоны, найденные приёмкой (вход промта P7, исполнение попутно): (1) `deploy/README.md:131` цитирует МЁРТВЫЙ текст ошибки схемы («schema vN … expects vM») — движок его больше не печатает; (2) та же мёртвая цитата и уплывший якорь `store.go:135-143` в строке П-1 вашего BACKLOG; (3) комментарий-образец в `tmplatformctl` (`runs.go:45`) зовёт голый `tmctl` из PATH — копипаст воспроизводит тихий no-op СТАРЫМ бинарём при живом деадлоке, ваш же README:139-141 требует версионированный путь. Вопросы — через владельца.