Accept the engine pack in an act of its own, order the work the owner's two decisions created, and retire both prompts to the archive with their outcomes

This commit is contained in:
heaven 2026-09-05 15:27:37 +03:00
parent 2079001c28
commit f71c4dcca3
7 changed files with 39 additions and 9 deletions

File diff suppressed because one or more lines are too long

View file

@ -22,8 +22,8 @@
| Роль | Активный промт | Статус |
|---|---|---|
| Оркестратор | [ORCHESTRATOR_SESSION_PROMPT.md](ORCHESTRATOR_SESSION_PROMPT.md) | роль и нормы; счётчик роли — CURRENT-STATE |
| Бэкенд | [BACKEND_MONEYSTOP_SESSION_PROMPT.md](BACKEND_MONEYSTOP_SESSION_PROMPT.md) | **ВЫДАН 05.09** — «денежный стоп перестаёт быть аварией»: строки 277 · 278 + ДВА РАЙДЕРА по пере-проверке бэклога (271 дыра в system-промпт · 251 артефакт контура). ⚠ 261/262 в пак НЕ входят — они в незакрытом дофиксе другой сессии зоны. **ГЕЙТ для формы заказа (D39.196)** — пока отказ резерва гасит допущенное, в стену упирается любой путь. ⚠ Предыдущий пак (вайр-батч) **ПРИНЯТ С ДОФИКСОМ 05.09 — акт D39.199, приёмочный коммит `74ffe4f`**; эррата 04.09-д («пак НЕ принят») ИСЧЕРПАНА, промт ушёл в `archive/prompts/` с баннером исхода |
| Платформа | [PLATFORM_OPERATIONS_SESSION_PROMPT.md](PLATFORM_OPERATIONS_SESSION_PROMPT.md) | **ВЫДАН 05.09** — «пустить внутрь можно»: бэкапы (строка 269, единственная находка дня БЕЗ частичного исхода) · дверь для не-браузерного клиента (270) · блокер рантбука деплоя · имя книги (274) · ложная подпись «Знаков» (282). ⚠ Форму заказа НЕ трогает — она идёт своим паком ПОСЛЕ движкового гейта |
| Бэкенд | активного НЕТ | пак «денежный стоп» ОТРАБОТАН и ПРИНЯТ С ДОФИКСОМ 05.09 — акт **D39.206** (`81a89e9` + `616a8e4`), промт в `archive/prompts/` с баннером исхода. Следующая работа зоны — строки **291** (флаг вместо клина, `D39.204`) · **294** (форма «сколько добавить», `D39.203`) · **296** (точечная перегенерация по промаху глоссария, после 295) |
| Платформа | активного НЕТ | пак «пустить внутрь можно» ОТРАБОТАН и ПРИНЯТ С ДОФИКСОМ 05.09 — акт **D39.201** (`7e2226a` + `3e84716`), промт в `archive/prompts/` с баннером исхода. Следующая работа зоны — строки **293** (невидимый для git файл) · **294** (зеркало словаря под минор потока) |
| Полигон | [POLYGON_EXP2223_REDO_SESSION_PROMPT.md](POLYGON_EXP2223_REDO_SESSION_PROMPT.md) (отложенный — [POLYGON_PACKAGE4_SESSION_PROMPT.md](POLYGON_PACKAGE4_SESSION_PROMPT.md), строка 85) | фаза Д ИДЁТ; ⚠ живой носитель курса — в `eval/dovodka/`, какой именно называет зона (⚠ [POLYGON_PHASE_D_HANDOFF.md](POLYGON_PHASE_D_HANDOFF.md) — перекрытый снимок, читать не как курс) |
| Фронт | активного НЕТ | **ЗОНА ЗАМОРОЖЕНА** (D39.136 п.2 + D39.147: разморозка отдельным словом владельца, не привязана к P7); перечень первого касания — в зонном журнале |
| Контракт | активного НЕТ | канон — `architecture/14-api-contract/`; ⚠ версию брать ФАЙЛОМ (`grep '^ version:' openapi.yaml`), не отсюда: миноры ратифицируются D-нотами и их содержание грепается по реестру нот. |

View file

@ -1,4 +1,4 @@
# Реестр D-нот — карта актуальности v2 (D1D39.205; титул — носитель головы, бампать при каждом аппенде)
# Реестр D-нот — карта актуальности v2 (D1D39.206; титул — носитель головы, бампать при каждом аппенде)
> ⚠ **Колонку «тело» `counts.py --check` НЕ сторожит по устройству:** он сверяет полноту НОМЕРОВ, а не
> место тела, поэтому колонка держится дисциплиной лендинга. Не нашёл тело по колонке — иди в слайсы,
@ -264,3 +264,4 @@
| D39.203 | 05.09 | **Владелец: движку МОЖНО говорить «сколько добавить»** — раскрытие оценки отказанного вызова легитимно (стена и есть цена вызова, формой не обходится). ⚠ Запрет ПТ-35 на СТОИМОСТЬ цел: наружу идёт до-вызовная ОЦЕНКА, не сеттлмент. Тензия жила внутри заказа (п.3 против п.4: `step_max_usd` — тоже оценка вызова). Создаёт работу: величина `max(shortfall, step_max headroom)` + ПЕРЕИМЕНОВАНИЕ поля + минор `StreamVersion` 1.3→1.4; пак лендится как построен | ратифицировано | живое тело | деньги · шов · контракт · продукт |
| D39.204 | 05.09 | **Владелец: отказ резервации на ретрае ДЕГРАДИРУЕТ ВО ФЛАГ** («пусть флагает просто как-то»); вариант «минимальная покупка ≥ step_max» снят. ⚠ Это НЕ смена D2.3 — D2 уже кончается флагом, денежная ветка до него не доходит (возврат ошибки из цикла попыток ДО `UpsertChunkStatus`). Причина флага обязана отличаться от исчерпания регенераций. Строка 291 закрывается; работа — своим паком движка | ратифицировано | живое тело | деньги · диспозиция · движок |
| D39.205 | 05.09 | **Лестница D25.1 ЗАКРЫТА владельцем: копия без пометки = книга БЕЗ ПРОПУСКОВ; пропущенный КУСОК главы — критический** (маркер остаётся на уровне юнита). Закрывает последнюю границу D39.178 п.4. ⚠ Оркестратор поднял ложную тревогу «вы отменяете решение 30.08» — принцип «в книгу только дыры, остальное на фронт» ратифицирован D39.175 п.2 / D39.178 п.3. Гейт глоссария НЕ включается до замера точности (строка 12 — предусловие); заказ: `glossary_miss` как актуатор ремонта, но СНАЧАЛА подать подписанный канон в прогон | ратифицировано | живое тело | продукт · выдача · качество |
| D39.206 | 05.09 | **АКТ: движковый пак «денежный стоп» ПРИНЯТ С ДОФИКСОМ** (`81a89e9` + `616a8e4`; каталог 201/197 RED/0 неожиданных, тесты 1172→1213). 18 находок, 6 снято, 12 устояло, 4 major — **все четыре оказались УТВЕРЖДЕНИЯМИ, а не поведением**. Строки 271 · 277 · 278 (+171) закрыты, 291 решена владельцем. Порог десяти глав снят лендингом | ратифицировано | живое тело | приёмка · движок · деньги |

View file

@ -1,4 +1,4 @@
# Журнал решений оркестратора — контракт D1D39.205 (живой файл: карта · эрраты · живые тела · голова D39.124+ (подрезка D39.139); тела закрытых эр — в слайсах `docs/archive/architecture/`, указатель ниже; реестр всех нот — `05-decisions-index.md`)
# Журнал решений оркестратора — контракт D1D39.206 (живой файл: карта · эрраты · живые тела · голова 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+).
@ -2470,3 +2470,21 @@ $2.00» не мерил никто), **а утверждение о ПРОШЛО
**4. Гейт глоссария (`gates.glossary.postcheck_gate`) НЕ ВКЛЮЧАЕТСЯ. Слово владельца 05.09: «Не знаю. Тут надо мерить типо?… если он ложно положительно будет стрелять это плохо, очень плохо».** ⇒ Решение отложено НЕ по темпу, а за отсутствием замера, и это законная диспозиция: включение ручки без замера точности удерживало бы ХОРОШИЙ текст, то есть чинило бы приоритет №1 ценой отказа отдать книгу. Строка бэклога **12** (пере-замер recall; прежний замер порочен — класс одного иероглифа не имел ни одного положительного примера) остаётся ЖИВОЙ и становится предусловием, а не «когда-нибудь». ⚠ Противоречие «D39.198: стоп» против «строка 12: когда-нибудь» снято ИМЕННО ТАК: стоп остаётся целью, замер — его ценой входа.
**5. ⭐ И направление, названное владельцем, — работа, которой сегодня НЕТ: «или флагать, или ПЕРЕГЕНЕРИРОВАТЬ проблемный участок».** Перегенерации по промаху глоссария в движке не существует: актуаторы ремонта — только `RepairLatinResidue` и `RepairBrokenWord` (`backend/internal/pipeline/repair.go`, греп `defaultRepairClasses`), `glossary_miss` среди них нет и в `knownRepairClasses` тоже. Сегодня лекарства другие и оба не точечные: консолидация терминолога на майнинг-стопе и правка глоссария с `--resnapshot` (то есть ПЕРЕ-ОПЛАТА). ⇒ **Заказ, который из этого следует:** `glossary_miss` как класс-актуатор ремонта — точечная перегенерация участка с подписанной формой вместо удержания целого фрагмента. ⚠ И порядок работ, потому что он меняет цену всего остального: **СНАЧАЛА подать подписанный канон в прогон.** Живая дыра приоритета №1 — не порог и не флаг: канон из 53 подписанных терминов НЕ ПОДКЛЮЧЁН к стенду (`docs/PROGRESS.md`, греп `канон подписан`), весь замеренный дрейф — дрейф С ОТКЛЮЧЁННЫМ каноном, а там, где его подключали, консистентность 99.3100%. Мерить точность чекера на прогоне без канона — значит мерить не то (05.09.2026, оркестратор №22). ✅
## D39.206 — АКТ ПРИЁМКИ ДВИЖКОВОГО ПАКА «ДЕНЕЖНЫЙ СТОП ПЕРЕСТАЁТ БЫТЬ АВАРИЕЙ»: ПРИНЯТ С ДОФИКСОМ, `81a89e9` + `616a8e4` (05.09). ✅
**1. Пак ПРИНЯТ.** Приёмочный коммит **`81a89e9`** (29 файлов, +4393/85) — он и назван обоим верификаторам (D39.172); дофикс **`616a8e4`** (22 файла, +983/104); отчёт зоны в её секции — `ba4fd34`. Четыре пункта заказа закрыты: санитайз пользовательских правок банка перед system-сообщением · отказ резерва ЗАЩЁЛКИВАЕТ волну и не отменяет допущенное · недостающая сумма в событии `ceiling` (+`StreamVersion` 1.2→1.3) · проекция цены книги в `manifest --json`/`status --json`.
**2. Цифры — СНЯТЫ ЗОНОЙ, не приёмкой** (подпись источника обязательна, форма D39.199): батарея `MAKE_EXIT=0`, 19 пакетов, 0 FAIL, линтер 0 issues, VET_CLEAN; каталог **201 запись · 197 RED · 4 аргументированных выживших · 0 неожиданных · 0 NOTHING · 0 ROTTED**; тесты **1172 → 1213 (+41)**, ни одна существующая функция не удалена и не переименована. Денег не потрачено ни цента. ⚠ **Каталог целиком приёмкой НЕ перегонялся**, батарея приёмкой не гонялась — оба верификатора назвали это в своих границах.
**3. Приёмка: 18 находок · 6 снято скептиками с предъявленным основанием · 12 устояло · 4 major.** Мандаты асимметричны: №1 судил ЗАКАЗ и ДИФФ **не читая отчёт** (вердикт: заказанное сделано, все четыре пункта достигают цели); №2 строил карту 38 находок отчёта и искал ВНЕ неё. Каждая находка атакована скептиком с заданием СНЯТЬ её.
**4. ⛔ ВСЕ ЧЕТЫРЕ MAJOR ОКАЗАЛИСЬ УТВЕРЖДЕНИЯМИ, А НЕ ПОВЕДЕНИЕМ — код делал то, что должен, а врали про него слова.** (а) `runevents.go` утверждал, что недостача «не раскрывает стоимость ни одного вызова», — приёмка восстановила цену отказанного вызова живым прогоном с точностью до микродоллара; **посылка была ОРКЕСТРАТОРСКОЙ**, разбор — D39.203. (б) Контрактный тип шва: `Finished.Money` документирован «present only on `outcome: ceiling`», а эмиттер вешает его на ПЯТЬ веток — нашли ОБА верификатора независимо; починено и запинено в обе стороны, включая отрицательные кейсы. (в) Сайдкар ПРЕЖНЕЙ сборки оставался действительным и молча гасил `price`/`structure` — ровно тот дефект, который фолбэк объявлен закрывающим; починка зоны сформулирована как **«живость АДДИТИВНОГО поля спрашивается о ПОЛЕ, а не о документе»**. (г) Фенс сид-лоадера отказывал ДВИЖКОМ ЖЕ написанному документу; ⚠ зона расширила находку — тем же лоадером грузится АВТО-БАНК (пять машинных вызовов, не два), то есть носитель достижимее найденного; лечение — разведение по АВТОРСТВУ (операторский документ отказывает, движковый роняет строку и продолжает), гарантия цела: дропнутая строка в банк не входит и до провода не доходит.
**5. Мелкие — все восемь взяты зоной с явной диспозицией по каждой.** Из них отдельного слова стоит `V2-5`: `bookOnceUSD` клал в цену книги весь бюджет классификатора при выключенной фазе, **и собственный тест пака ПИНИЛ неверное число** — гейт, защищающий дефект (реестр форм ложной зелени — D39.202 п.3).
**6. ⚠ ЧЕСТНЫЙ ОСТАТОК, названный поимённо.** Каталог не сошёлся с первого раза ДВАЖДЫ, и оба раза находил то, чего зелёная батарея не видит: первый прогон — четыре неожиданных исхода, включая посадку, красноту которой промт назвал ОБЯЗАТЕЛЬНЫМ УСЛОВИЕМ приёмки (**named-артефакт поймал ВЫРОЖДЕННЫЙ ТЕСТ, а не забытый прогон** — за это его и держат); второй — посадку, чью починку не держал НИ ОДИН тест. Сдача — склейка двух прогонов, её законность предъявлена МЕХАНИЧЕСКИ (побайтная идентичность AST без комментариев). Не проверено: гонка `MS-reserve-under-the-gate` (аргументированный выживший, инструментом не проверяема — так и записано в `why`) · цена защёлки не замерена, только выведена · числа проекции с фактом не сверены · платного прогона не было.
**7. Диспозиции строк.** **271** (правки банка ехали в system-сообщение дословно) — ЗАКРЫТА · **277** (защёлка) — ЗАКРЫТА · **278** (проекция цены и недостача) — ЗАКРЫТА, поглотив **171** · **291** (клин юнита) — решена владельцем, D39.204, работа своим паком. ⚠ Порог «книга короче десяти глав не переводится» СНЯТ этим лендингом — эррата в `15-money-path.md`; канон сутки стоял непоправленным и стоил владельцу ложного предупреждения.
**8. Норма, купленная этим паком и стоящая дороже находок.** Восемь major за два пака смены — **утверждения, а не поведение**. ⇒ **Батарея сторожит поведение, каталог мутаций сторожит поведение, линтер сторожит форму — и НИ ОДИН не сторожит того, что код о себе ГОВОРИТ.** Поймало все восемь одно: чтение вслух чужими глазами. Кандидат в механизм и возражение против его простой формы — D39.202 п.9 (05.09.2026, оркестратор №22). ✅

View file

@ -102,7 +102,7 @@
обещание «не потратить больше, чем дано». Отраслевой стандарт тот же (см. прайор-арт ниже).
3. **Менять надо ТРАКТОВКУ ОТКАЗА**, а не наличие резервации: «не начинаем новое» вместо «гасим всё».
⛔⛔ **ЭРРАТА 05.09 — ВСЁ НИЖЕ ОПИСЫВАЕТ ДВИЖОК ДО ПАКА «ДЕНЕЖНЫЙ СТОП» (`616a8e4`, принят D39.203). Порог «книга короче десяти глав не переводится» СНЯТ ЛЕНДИНГОМ.** Стена стояла на том, что отказ ОДНОГО воркера ронял ВСЮ волну ⇒ резервы всех четырёх обязаны были уместиться в потолок разом. Пак это и чинил (его промт `docs/BACKEND_MONEYSTOP_SESSION_PROMPT.md` называл порог целью): отказ ЗАЩЁЛКИВАЕТ волну — новое не стартует, допущенное дорабатывается, — а обязательный вызов ЖДЁТ settle, когда settle может помочь. Пины: `backend/internal/pipeline/moneystop_test.go`, греп `TestUnderACeilingTheWaveFinishesWhatItAdmitted` и `TestWaitingForHeadroomDeliversTheWholeBook` («a ceiling that admits one call AT A TIME must still deliver the book»).
⛔⛔ **ЭРРАТА 05.09 — ВСЁ НИЖЕ ОПИСЫВАЕТ ДВИЖОК ДО ПАКА «ДЕНЕЖНЫЙ СТОП» (`616a8e4`, принят D39.203). Порог «книга короче десяти глав не переводится» СНЯТ ЛЕНДИНГОМ.** Стена стояла на том, что отказ ОДНОГО воркера ронял ВСЮ волну ⇒ резервы всех четырёх обязаны были уместиться в потолок разом. Пак это и чинил (его промт `docs/archive/prompts/BACKEND_MONEYSTOP_SESSION_PROMPT_2026-09-05.md` называл порог целью): отказ ЗАЩЁЛКИВАЕТ волну — новое не стартует, допущенное дорабатывается, — а обязательный вызов ЖДЁТ settle, когда settle может помочь. Пины: `backend/internal/pipeline/moneystop_test.go`, греп `TestUnderACeilingTheWaveFinishesWhatItAdmitted` и `TestWaitingForHeadroomDeliversTheWholeBook` («a ceiling that admits one call AT A TIME must still deliver the book»).
**Честное состояние на 05.09:** движок больше НЕ требует, чтобы вся волна умещалась в потолок; короткая книга идёт по одному вызову. Остаточный пол — ОДНА резервация (`step_max_usd` ≈ $0.07 ⇒ ~3 главы по ставке $0.03; до лендинга `D39.204` удвоение на ретрае поднимало это до ~5). ⚠ **Новый порог ВЫВЕДЕН, НЕ ЗАМЕРЕН** — отчёт пака называет это честно (`backend/docs/MONEYSTOP_REPORT.md` §9: цена защёлки не замерена, числа проекции с фактом не сверены). Замер стоит одного $0.15-прогона пятиглавой книги и передан полигону. ⚠ Платформенная половина (потолок ДЕНЬГАМИ, D39.196) снимает и этот пол по построению — но НЕ ПОСТРОЕНА: `git grep -lE "StepMax|step_max" -- platform/` пусто.
**Класс ошибки, ради которого эррата написана так подробно: оркестратор заленджил пак, чей промт заказывал снятие этой стены, принял его — и в тот же час предупредил владельца о стене как о действующей, читая ЭТОТ абзац.** Канон, не обновлённый лендингом, врёт громче, чем отсутствующий.

View file

@ -1,3 +1,7 @@
> ⚠⚠ **ОТРАБОТАН 05.09. ИСХОД: ПАК ПРИНЯТ С ДОФИКСОМ — акт `D39.206`.**
> Приёмочный коммит `81a89e9`, дофикс `616a8e4`. 18 находок приёмки, 6 снято, 12 устояло, **4 major — и все четыре оказались УТВЕРЖДЕНИЯМИ, а не поведением**. Строки заказа 271 · 277 · 278 (+поглощённая 171) ЗАКРЫТЫ; 291 решена владельцем (`D39.204`). ⚠ Пункт (3) этого промта противоречил пункту (4): один запрещал цене вызова выходить наружу, другой требовал публиковать `step_max_usd` — тоже оценку одного вызова. Тензию нашла зона, разрешил владелец (`D39.203`). ⚠ И пункт (6) описывал симптом неверно — дефект промта, не зоны.
> ⛔ **Инструкции этого файла НЕ ИСПОЛНЯЮТСЯ** — он архив. Живое состояние: `docs/PROGRESS.md` и журнал решений.
# Промт сессии: БЭКЕНД — «денежный стоп перестаёт быть аварией»
> **Роль:** бэкенд. **Зона записи:** `backend/` + СВОЯ секция в `docs/PROGRESS.md`. Чужие зоны

View file

@ -1,3 +1,7 @@
> ⚠⚠ **ОТРАБОТАН 05.09. ИСХОД: ПАК ПРИНЯТ С ДОФИКСОМ — акт `D39.201`.**
> Приёмочный коммит `7e2226a`, дофикс `3e84716`. 20 находок приёмки, 5 снято, 15 устояло, **5 major — ТРИ в самом механизме бэкапа**. Строки заказа 269 · 270 · 274 · 282 ЗАКРЫТЫ, заведена 293. ⚠ Пункт (6) описывал симптом отсутствия артефакта контраста НЕВЕРНО, пункт (4) заказывал доставку титула в `dc:title` вопреки ратифицированному — оба дефекта промта, названы зоной.
> ⛔ **Инструкции этого файла НЕ ИСПОЛНЯЮТСЯ** — он архив. Живое состояние: `docs/PROGRESS.md` и журнал решений.
# Промт сессии: ПЛАТФОРМА — «пустить внутрь можно»
> **Роль:** платформа. **Зона записи:** `platform/`. Чужие зоны читаешь, не правишь; пинги и итоги —