Close the last border of the book writer: a copy without marks is a book without gaps, a skipped fragment counts, and the glossary gate waits for a measurement

This commit is contained in:
heaven 2026-09-05 14:58:10 +03:00
parent 3662c4cc26
commit 2079001c28
3 changed files with 16 additions and 3 deletions

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
# Реестр D-нот — карта актуальности v2 (D1D39.204; титул — носитель головы, бампать при каждом аппенде)
# Реестр D-нот — карта актуальности v2 (D1D39.205; титул — носитель головы, бампать при каждом аппенде)
> ⚠ **Колонку «тело» `counts.py --check` НЕ сторожит по устройству:** он сверяет полноту НОМЕРОВ, а не
> место тела, поэтому колонка держится дисциплиной лендинга. Не нашёл тело по колонке — иди в слайсы,
@ -263,3 +263,4 @@
| D39.202 | 05.09 | **НОРМЫ СМЕНЫ: один корень у восьми случаев — прибор отвечает на свой вопрос, а читают его как ответ на свой.** Четыре вида неразличимого зелёного отчёта · девять форм ложной зелени (включая ГЕЙТ, ЗАЩИЩАЮЩИЙ ДЕФЕКТ) · правила посадок, указателей, замеров · «замер, попавший в посылку заказа, — стоп и вопрос владельцу» · норма о нормах: правило, требующее бдительности, исполняется настолько, насколько она есть | ратифицировано | живое тело | нормы · приёмка · инструменты |
| 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` как актуатор ремонта, но СНАЧАЛА подать подписанный канон в прогон | ратифицировано | живое тело | продукт · выдача · качество |

View file

@ -1,4 +1,4 @@
# Журнал решений оркестратора — контракт D1D39.204 (живой файл: карта · эрраты · живые тела · голова D39.124+ (подрезка D39.139); тела закрытых эр — в слайсах `docs/archive/architecture/`, указатель ниже; реестр всех нот — `05-decisions-index.md`)
# Журнал решений оркестратора — контракт D1D39.205 (живой файл: карта · эрраты · живые тела · голова 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+).
@ -2458,3 +2458,15 @@ $2.00» не мерил никто), **а утверждение о ПРОШЛО
**4. Что ратифицируется.** Отказ резервации на попытке > 0 **деградирует в тот же флаг, которым D2 кончает исчерпание регенераций**: текст попытки 0 оплачен и ОТГРУЖАЕТСЯ, юнит помечается, волна продолжается без дыры в непрерывном префиксе. Это согласуется с тремя уже построенными деградациями того же рода — эскалация, ремонтный подшаг и терминологический проход на потолке деградируют, а не роняют книгу (`escalation.go` · `repair.go` · `terminologist.go`, греп `denied by a USD ceiling`). ⚠ Причина флага обязана ОТЛИЧАТЬСЯ от исчерпания регенераций: человек должен видеть «остановлено деньгами», а не «модель не справилась» — иначе пометка врёт о причине, и это ровно класс, стоивший паку четырёх major.
**5. Следствия, названные явно.** (а) Прогон перестаёт уходить `exit 4` при полностью доставленных КУПЛЕННЫХ юнитах — сегодня уходит. (б) Снимается вторая половина строки 291: волна продолжается, дыры в префиксе нет, глобальная защёлка (D39.199, строки 277) остаётся единственным механизмом остановки и не требует различителя «свежий/ретрай», который оркестратор предлагал на ложной посылке и получил опровержение зоной по строкам. (в) **Работа принадлежит зоне движка и идёт СВОИМ паком**: правка пути ошибки в `stagerun.go`, новая причина флага, пин на «купленное доставлено ⇒ не `exit 4`», пере-снятие каталога. Пак «денежный стоп» уже принят и заленджен (`616a8e4`) — сюда это не дописывается (05.09.2026, оркестратор №22). ✅
## D39.205 — ЛЕСТНИЦА D25.1 ЗАКРЫТА: копия БЕЗ пометки = книга БЕЗ ПРОПУСКОВ; пропущенный кусок главы — критический. Гейт глоссария НЕ включается до замера точности (05.09). ✅
**1. Решение владельца 05.09, дословно: «Без пропусков, пометки делаем только в местах пропусков, всё остальное отображается только на фронте».** Это закрывает **последнюю открытую границу пака «писатель книги»** — D39.178 п.4 («лестница D25.1: какая ступень даёт читателю копию БЕЗ пометки — НЕ решена и ждёт владельца»). Ответ: ступень одна — **книга без единого пропуска**. Любой пропуск ⇒ пометка в файле.
**2. Гранулярность подтверждена владельцем ЯВНО: пропущенный КУСОК главы — тоже критический** («1а. Да, критическое»). ⇒ маркер остаётся на уровне ЮНИТА, как и построено (`backend/internal/pipeline/bookbuild.go`, шесть состояний честности; слова — данные `configs/langpacks/ru/reader.txt`).
**3. ⛔ ОРКЕСТРАТОР ПОДНЯЛ ЛОЖНУЮ ТРЕВОГУ, и это записывается, чтобы норма не пострадала от ложного примера.** Он предупредил владельца, что тот «отменяет своё решение 30.08», — **ничего не отменялось.** Принцип ратифицирован ещё тогда и ровно в этой форме: **D39.175 п.2** — «CONFIG-DRIFT — НЕ дыра файла. Файл пишется чистым, дрейф и `stale_unknown` — носители `BuildReport`/WARN, не текста книги»; **D39.178 п.3** — «дверь сверяет `BuildReport` — это предупреждение ОПЕРАТОРУ и интерфейсу, не читателю». То есть «в книгу — только настоящие дыры, остальное на фронт» было каноном с 30.08. Тревога родилась из ПЕРЕСКАЗА: оркестратор сжал ответ владельца до «критическая = пропущенная глава» и на своём же сжатии построил конфликт гранулярности. **Класс: предупреждение о противоречии, выведенное из собственного пересказа, а не из двух прочитанных источников** — тот же корень, что у прочих ошибок смены, и владелец поймал его словом «посмотри получше в документации».
**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). ✅