Take in both zones' work on a stop that leaves nothing half-written, and record that the sessions found most of it in their own work.

This commit is contained in:
heaven 2026-09-11 02:06:11 +03:00
parent f8a968e37b
commit 83cb908dd8
3 changed files with 28 additions and 3 deletions

View file

@ -1,6 +1,6 @@
# Журнал прогресса
> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-09-10, голова D39.241КУРС: движок и платформа до «работает и отдаёт результат», фронт ЗАМОРОЖЕН и P7 его НЕ размораживает (D39.147). **ОЧЕРЕДЬ №23** (единственный носитель — здесь; роль передана 06.09, №22 закрыт нотой передачи D39.217; ⚠ испр. 06.09: коммит передачи `c992ee5` бампнул голову и НЕ тронул номер — гейта на номер очереди нет вовсе, `counts.py` сверяет только голову, поэтому носитель разошёлся молча). ⚠ **ЗАКАЗ ВЛАДЕЛЬЦА 01.09 — ИСПОЛНЕН, испр. 08.09 (висел как «первым» неделю после исполнения):** (0а) ревизия документации на протухшее ОТРАБОТАНА 01.09 воркфлоу `docs-staleness-revision-A` (15 срезов), провенанс находок — `D39.185`; (0б) планы доработок в бэкенд и платформу — исполняются ПАКАМИ, за 0708.09 закрыты два движковых (`D39.225`, `D39.226`); (0в) вынос неактуального в архив идёт батчами `DOC_CLEANUP_PLAN.md` (Б14/Б15/Б17 живы). ⇒ строка ниже — не заказ, а история: (0а) ревизия документации на ПРОТУХШЕЕ — по всем зонам; (0б) планы доработок в БЭКЕНД и ПЛАТФОРМУ; (0в) вынос неактуального в АРХИВ (`docs/archive/`, `platform/docs/archive/`) — за сутки 31.08 закрыто много, и часть носителей стала историей. ⚠ Трезвость по масштабу (пере-считано 02.09): **94** живых дока в `docs/` (пере-счёт 04.09: `find docs -name '*.md' -not -path 'docs/archive/*' | wc -l`), 8 в `platform/docs`, 9 в `backend/docs` — ⚠ из 94 ВРЕМЕННЫЙ остался ОДИН (`DOC_CLEANUP_PLAN`, живой до закрытия батчей Б14/Б15/Б17); два прежних временных уехали в `archive/reports/` 02.09; счёт бэклога — бюллетенем ниже, открытых рядов регистра платформы — 109 (major 1), всего рядов 465 (пере-счёт `python3 docs/scripts/counts.py`; с 04.09 оба числа под гардом `--check`, прежние 95/3 разошлись молча) ⚠ (ревизией 02.09 ряды **154** и **157** переведены из «скоро» в «когда-нибудь»: их гейтом стоял первый холодный прогон, он ОТРАБОТАЛ 31.08 и оба предусловия оказались другими — разбор в самих ячейках, ни одна НЕ закрыта). ⚠ Числа доков `counts.py` НЕ сторожит — при переносе файлов пере-считывать руками командой `find docs -name '*.md' -not -path 'docs/archive/*' | wc -l`. ⚠ И предупреждение о МЕТОДЕ, купленное сменой №21: «выглядит протухшим» ≠ «протухло». Три факта оркестратора опровергнуты ЗАМЕРОМ сессий, а якоря `15-money-path.md` в девяти случаях из двенадцати РОДИЛИСЬ верными и сгнили дрейфом — то есть ревизия обязана быть исполнением, а не чтением. ⚠ **ОЧЕРЕДЬ, унаследованная от №21** (три лендинга 31.08 — секция «СОСТОЯНИЕ ПАКОВ» ниже): **(1) ~~РАЗРЫВ ЦИКЛА~~ ЗАМКНУТ ЖИВЬЁМ 04.09** — пользователь получил EPUB настоящего ПЛАТНОГО перевода ЧЕРЕЗ API, `epubcheck` 5.3.0 на СКАЧАННОМ файле 0/0/0/0 (книга `bk_SS5VES2JELESJSTR`, потрачено $0.278319 из гранта $0.60 при потолке пака $1.5, санкция D39.189). Дверь выдачи построена и проверена исполнением: `202`+`Location`, поллинг с `Retry-After`, Range 206 · второй клиент 200 · аноним 401 · чужая книга 404, TTL с GC, идемпотентность третьего создающего вызова. Все ТРИ сценария строки 216 предъявлены живьём (подпись банка · halt на потолке с exit 4 · `409 run_not_resumable/ceiling_reached` и лечение новым прогоном).
> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-09-10, голова D39.242КУРС: движок и платформа до «работает и отдаёт результат», фронт ЗАМОРОЖЕН и P7 его НЕ размораживает (D39.147). **ОЧЕРЕДЬ №23** (единственный носитель — здесь; роль передана 06.09, №22 закрыт нотой передачи D39.217; ⚠ испр. 06.09: коммит передачи `c992ee5` бампнул голову и НЕ тронул номер — гейта на номер очереди нет вовсе, `counts.py` сверяет только голову, поэтому носитель разошёлся молча). ⚠ **ЗАКАЗ ВЛАДЕЛЬЦА 01.09 — ИСПОЛНЕН, испр. 08.09 (висел как «первым» неделю после исполнения):** (0а) ревизия документации на протухшее ОТРАБОТАНА 01.09 воркфлоу `docs-staleness-revision-A` (15 срезов), провенанс находок — `D39.185`; (0б) планы доработок в бэкенд и платформу — исполняются ПАКАМИ, за 0708.09 закрыты два движковых (`D39.225`, `D39.226`); (0в) вынос неактуального в архив идёт батчами `DOC_CLEANUP_PLAN.md` (Б14/Б15/Б17 живы). ⇒ строка ниже — не заказ, а история: (0а) ревизия документации на ПРОТУХШЕЕ — по всем зонам; (0б) планы доработок в БЭКЕНД и ПЛАТФОРМУ; (0в) вынос неактуального в АРХИВ (`docs/archive/`, `platform/docs/archive/`) — за сутки 31.08 закрыто много, и часть носителей стала историей. ⚠ Трезвость по масштабу (пере-считано 02.09): **94** живых дока в `docs/` (пере-счёт 04.09: `find docs -name '*.md' -not -path 'docs/archive/*' | wc -l`), 8 в `platform/docs`, 9 в `backend/docs` — ⚠ из 94 ВРЕМЕННЫЙ остался ОДИН (`DOC_CLEANUP_PLAN`, живой до закрытия батчей Б14/Б15/Б17); два прежних временных уехали в `archive/reports/` 02.09; счёт бэклога — бюллетенем ниже, открытых рядов регистра платформы — 109 (major 1), всего рядов 465 (пере-счёт `python3 docs/scripts/counts.py`; с 04.09 оба числа под гардом `--check`, прежние 95/3 разошлись молча) ⚠ (ревизией 02.09 ряды **154** и **157** переведены из «скоро» в «когда-нибудь»: их гейтом стоял первый холодный прогон, он ОТРАБОТАЛ 31.08 и оба предусловия оказались другими — разбор в самих ячейках, ни одна НЕ закрыта). ⚠ Числа доков `counts.py` НЕ сторожит — при переносе файлов пере-считывать руками командой `find docs -name '*.md' -not -path 'docs/archive/*' | wc -l`. ⚠ И предупреждение о МЕТОДЕ, купленное сменой №21: «выглядит протухшим» ≠ «протухло». Три факта оркестратора опровергнуты ЗАМЕРОМ сессий, а якоря `15-money-path.md` в девяти случаях из двенадцати РОДИЛИСЬ верными и сгнили дрейфом — то есть ревизия обязана быть исполнением, а не чтением. ⚠ **ОЧЕРЕДЬ, унаследованная от №21** (три лендинга 31.08 — секция «СОСТОЯНИЕ ПАКОВ» ниже): **(1) ~~РАЗРЫВ ЦИКЛА~~ ЗАМКНУТ ЖИВЬЁМ 04.09** — пользователь получил EPUB настоящего ПЛАТНОГО перевода ЧЕРЕЗ API, `epubcheck` 5.3.0 на СКАЧАННОМ файле 0/0/0/0 (книга `bk_SS5VES2JELESJSTR`, потрачено $0.278319 из гранта $0.60 при потолке пака $1.5, санкция D39.189). Дверь выдачи построена и проверена исполнением: `202`+`Location`, поллинг с `Retry-After`, Range 206 · второй клиент 200 · аноним 401 · чужая книга 404, TTL с GC, идемпотентность третьего создающего вызова. Все ТРИ сценария строки 216 предъявлены живьём (подпись банка · halt на потолке с exit 4 · `409 run_not_resumable/ceiling_reached` и лечение новым прогоном).
> ⛔ **ПЯТЬ ПОТОКОВ РАБОТЫ — состояние на 07.09 (пере-снято лендингами смены №23).**
> **(1) ПОЛИГОН — «ремонт прибора»** (`docs/POLYGON_INSTRUMENT_REPAIR_SESSION_PROMPT.md`, строки 319 · 300 · 265 · 143):
> ⚠ **ЕДИНСТВЕННЫЙ ПОТОК, НЕ СДВИНУВШИЙСЯ ЗА СМЕНУ — сессия по промту так и не стартовала.** Блокирующая линза
@ -13,6 +13,7 @@
> `3d90943`). Строки 285 · 305 · 325 закрыты. ⚠ **Синхронный разрез приёма принят ПОСТРОЕННЫМ, НО НЕ ГОТОВЫМ**
> сработало правило остановки (9 major из 11 в одном механизме), десять пунктов несёт строка **332**; ложный
> инвариант бюджета заландён осознанно (окно лжи 8 секунд при дефолте в 16 минутах, ломается идемпотентность).
> **(18) ✅ ДОРАБОТКА ПО ИНВАРИАНТУ `D39.240` ПРИНЯТА, акт `D39.242`.** Семь предметов в двух зонах; батарея движка вернулась к входной строке, мутации **RED 151 · SURVIVED 0**, сверка 373 якорей — протухших 0. ⭐ Почти всё дорогое нашли САМИ сессии и у себя: выживший мутант вскрыл дефект в собственном пине, непримени́вшаяся собственная правка, знаменатель из восьми против моих двух. ⚠ Пять МОИХ ошибок сняты сессиями и названы в акте; куплены четыре нормы о провенансе утверждений и чисел. **Бэкендовый слот СВОБОДЕН** — следующим идёт дизайн-пак структуры глав (ок владельца получен).
> **(17) ✅ ОБЕ СЕССИИ ЗАКРЫТЫ, акт `D39.241`.** Движок откачен полностью — батарея вернулась к входной строке смены (19 `ok` · 0 FAIL · 4 скипа), пере-снято моим прибором. Платформа сдала `--no-block` С ПИНОМ — единственное, что владелец взял из отменённого пака; куплен пин на ЧУЖОЕ поведение (systemd), на котором молча держалось утверждение в коде свипа. ⛔ Откат не смогла выполнить ни одна сессия, включая мою: запрет сработал одинаково, обходить не стала ни одна, дерево снял владелец. Живой журнал похудел на 19 % — закрытая хроника вынесена срезом (`7af35da`), три её одиноких утверждения получили дом строкой **402**.
> **(16) ⛔ ПАК «ДВЕ ОСТАНОВКИ» ОТМЕНЁН ВЛАДЕЛЬЦЕМ до лендинга — акт `D39.240`.** Причина — размах (18 файлов движка), не риск: работа была почти целиком добавочной (+633/84, 61 удалённая не-тестовая строка, сборка чистая). **Предмет заменён и сужен: остановка остаётся ЖЁСТКОЙ, деньги терять ДОПУСТИМО, но она обязана быть КОРРЕКТНОЙ** — без гонок, без половинчатых состояний, с верным возобновлением. Обе сессии откатывают свои зоны; знание снято с них ДО отката. ⭐ Пак оставил после себя пять нот (`D39.236``D39.240`) и две строки (**384**, **385**).
> **(15) ⛔ ДВА SIGTERM ПОДРЯД GO-ПРОЦЕСС ВИДИТ КАК ОДИН — акт `D39.238`, замерено дважды независимо** (`gap 0` → 0 из 20, `gap 1 мс` → 20 из 20, контроль 5 из 5). Ратифицированная форма двух остановок стояла на посылке «послать два = получить два», которой нет: «останови сейчас» первым нажатием давало бы МЯГКУЮ остановку молча, а пере-выпуск жёсткого сигнала свипом — третий SIGTERM, то есть смерть без кадра и сеттла. Форма остаётся, добавлен контракт: сигналы упорядочены НАБЛЮДЕНИЕМ, факт доставки долговечен. ⭐ Первая серия замера была неверна ПРИБОРОМ и дала противоположный ответ — сессия починила прибор и назвала это сама.

View file

@ -1,4 +1,4 @@
# Реестр D-нот — карта актуальности v2 (D1D39.241; титул — носитель головы, бампать при каждом аппенде)
# Реестр D-нот — карта актуальности v2 (D1D39.242; титул — носитель головы, бампать при каждом аппенде)
> ⚠ **Колонку «тело» `counts.py --check` НЕ сторожит по устройству:** он сверяет полноту НОМЕРОВ, а не
> место тела, поэтому колонка держится дисциплиной лендинга. Не нашёл тело по колонке — иди в слайсы,
@ -300,3 +300,4 @@
| D39.239 | 10.09 | **СЛОВО ВЛАДЕЛЬЦА: у продукта ДВЕ поверхности — ЛЕНДИНГ и IDE** («модель как у любого ИИ-продукта»); лендинга нет ни кодом, ни строкой, а `frontend/` — это IDE, строка **384**. **Замер, где живут учётки:** логин настоящий (OIDC + dev), **учётка создаётся САМА при первом входе**, пригласительного гейта НЕТ вовсе, дверь закрыта только конфигурацией (пустой issuer ⇒ поверхность не монтируется), оплаты нет намеренно. ⚠ Исправление моего же ответа владельцу: **`sqlc` УЖЕ используется** (1232 строки из 5688 в `pgstore`), моё «генератор срезал бы» было ложью из формы файлов. **Мандат владельца: протухшую прозу можно СНОСИТЬ**, диффы окаются у старшего коллеги; границы сноса — п.4 | продукт · учётки · доки |
| D39.240 | 10.09 | **ПАК «ДВЕ ОСТАНОВКИ» ОТМЕНЁН ВЛАДЕЛЬЦЕМ до лендинга** — по РАЗМАХУ, не по риску: замер показал +633/84 в движке при 61 удалённой не-тестовой строке и чистой сборке. **Предмет ЗАМЕНЁН и сужен:** остановка остаётся ЖЁСТКОЙ, **деньги терять ДОПУСТИМО**, но обязана быть КОРРЕКТНОЙ — без гонок, без половинчатых состояний, с верным возобновлением. Снимаются сеттл на остановке, лестница эскалации, режим `/stop`, минор потока. ⭐ Диагноз размаха: причин «перестать тратить» ТРИ, решение принимается в ЧЕТЫРЁХ точках ⇒ недо-абстракция, строка **385**. Знание снято с сессий ДО отката. Константа версии контракта НЕ откатывается — чужой долг | продукт · стоп · архитектура |
| D39.241 | 11.09 | **АКТ ЗАКРЫТИЯ обеих сессий пака «две остановки».** Движок ОТКАЧЕН полностью (18 путей + 6 файлов; батарея вернулась к входной строке: 19 `ok` · 0 FAIL · 4 скипа). ⛔ Откат не смогла сделать НИ ОДНА сессия, включая оркестраторскую — запрет сработал одинаково, обходить его не стала ни одна, дерево снял владелец одной командой. Платформа сдала `--no-block` **с пином**: три мутации засчитаны по ТЕКСТУ, живой пин ×5 зелёный, argv-пин отдельно — чтобы флаг не остался непроверенным на хосте без systemd. ⭐ Куплен пин на ЧУЖОЕ поведение: «повторный стоп бесплатен и идемпотентен» держалось на недокументированном systemd. От отменённого пака осталось 7 нот и 23 строки трекера; одна МОЯ строка (399) была ложной и пере-написана до заказа | приёмка · стоп · метод |
| D39.242 | 11.09 | **АКТ: доработка по инварианту `D39.240` ПРИНЯТА обеими зонами** (`3084766`+`f8a968e` движок, `560ca20`+`00d590e` платформа). Батарея вернулась к входной строке, мутации **152 · RED 151 · SURVIVED 0 · ROTTED 1**, после починки якоря сверка 373 якорей — протухших 0. ⛔ Подтверждающего перепрогона «152 одной строкой» НЕТ — дважды убит сторожем памяти, третьей попытки не делали ОСОЗНАННО (косметика, ни одной новой проверки). ⭐ Почти всё дорогое нашли САМИ сессии и у СЕБЯ: выживший мутант вскрыл дефект в собственном пине · непримени́вшаяся собственная правка · знаменатель 8 сайтов против моих 2 · три класса вырожденности за заход · три опровержения СВОИХ находок. ⚠ И ПЯТЬ моих ошибок, снятых сессиями, — все названы в п.6, четыре нормы куплены | приёмка · стоп · метод |

View file

@ -1,4 +1,4 @@
# Журнал решений оркестратора — контракт D1D39.241 (живой файл: карта · эрраты · живые тела · голова D39.124+ (подрезка D39.139); тела закрытых эр — в слайсах `docs/archive/architecture/`, указатель ниже; реестр всех нот — `05-decisions-index.md`)
# Журнал решений оркестратора — контракт D1D39.242 (живой файл: карта · эрраты · живые тела · голова 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+).
@ -3424,3 +3424,26 @@ bought NOTHING». ⇒ **`tmctl manifest` есть НИЖНЯЯ граница,
**6. Что осталось в репозитории от отменённого пака.** Семь нот (`D39.235``D39.241`), **двадцать три строки трекера** (**372** дополнена замером двух источников отмены · **375** — ⛔-половиной про затирание вердикта · **381** превращена в надгробие · **383****402** заведены), инвентарь носителей отмены и секция «что проверено чем» в журнале движковой зоны (`ab7b3c4`), и одна заландженная правка с пином. ⚠ **Одна из моих строк была ЛОЖНОЙ и пере-написана до заказа:** **399** утверждала, что у состояния «запаркована» нет носителя — их четыре, и пере-снял это не я. Уйди она в пак как написана — пак пошёл бы строить построенное.
**7. Границы.** Пункт 1 пере-снят мной целиком. Пункт 3 — числа ЗОНЫ: четыре гейта стенда у меня не подняты, живой пин и мутации я не воспроизводил и говорю это прямо. Пункт 5 — факты о поведении сессий, а не оценка их работы.
## D39.242 — АКТ: доработка по инварианту `D39.240` ПРИНЯТА обеими зонами; семь предметов, и почти всё дорогое найдено САМИМИ сессиями (11.09, оркестратор №23)
**1. Что принято.** Движок `3084766` + `f8a968e` (8 правленых, +204/12, 3 новых теста, 3 записи каталога), платформа `560ca20` + `00d590e` (`--no-block` с пином, ответ живым именем юнита, `timeout` вне `service_error`, отметка расчёта, частичный индекс). Инвариант: остановка ЖЁСТКАЯ, деньги терять допустимо, но без гонок, без половинчатых состояний, с верным возобновлением.
**2. Числа пере-сняты МНОЮ.** Движок: батарея **19 `ok` · 0 FAIL · 4 «no test files» · 4 скипа** поимённо — совпадает со ВХОДНОЙ строкой смены, доработка не сдвинула ни одного пакета. Мутации: **152 посадки · RED 151 · SURVIVED 0 · ROTTED 1**, после починки якоря — 4 целевых RED и `anchors swept: 0 of 363 rotten`; моя собственная сплошная сверка дала **373 якоря, у всех ровно одно вхождение, протухших 0**. Каталог 360 → 363, батарейное подмножество 149 → 152; все три новые записи сажаются по одному хиту, все пять названных пинов существуют. Платформа: `make check` MAKE-EXIT=0 · 20 `ok` · 0 FAIL · линтер чист · 5 скипов с одним названным условием · `PD-count` не сдвинут — **число ЗОНЫ**, четыре гейта стенда у меня не подняты, и я говорю это прямо.
**3. ⛔ ПОДТВЕРЖДАЮЩЕГО ПЕРЕПРОГОНА «152 RED ОДНОЙ СТРОКОЙ» НЕТ, и я его НЕ ТРЕБОВАЛ.** Он запускался дважды и оба раза убит сторожем памяти среды на пятой–шестой посадке при ~8,7 ГБ свободных. Довод сессии, который я принял: прогон косметический — он превратил бы «151 RED плюс одна протухшая, починенная и пере-проверенная отдельно» в «152 RED», не добавив НИ ОДНОЙ новой проверки, и занял бы машину под чужими сессиями на сорок минут. ⇒ отказ от третьей попытки — решение, а не пропуск, и он записан здесь, а не в «что не удалось».
**4. ⭐ ГЛАВНОЕ: почти всё дорогое нашли САМИ СЕССИИ, и почти всё — у себя.** Перечисляю, потому что это метод, а не везение.
**(а)** Платформенная посадила мутацию в свою починку — **мутант выжил, и дефект был в ЕЁ пине**: фикстура прятала одно исключение другим (живой прогон исключался дважды), а состояние, где они расходятся, оказалось не угловым, а обычным — «между попытками». Класс `D39.232` п.6б, раньше его ловил только направленный второй читатель.
**(б)** Движковая нашла **непримени́вшуюся собственную правку**: скрипт упал на ассерте и не записал файл, а отчёт ушёл по обоим сайтам. Её слова: отчёт был написан «по намерению, а не по дереву».
**(в)** Она же посчитала ЗНАМЕНАТЕЛЬ, которого не считал я: мест, пишущих `failed`, **восемь**, отменой достижимы **пять**, а моя строка называла **два**. Два из пяти не назывались ни строкой, ни её отчётом. Починено ОДНИМ сужающим контрактом, а не пятью правками — довод в коде: пять сайтов это один вопрос, и пять `if`-ов закрыли бы три.
**(г)** Три класса вырожденности за один заход, все пойманы автором: фикстура мерила НЕ ТО (отмена по счётчику, растущему ДО ухода запроса); пин был зелен на пустом сценарии (ждал признака, который пишется ДО первого вызова); мутация не засчитана, потому что красное дал КОМПИЛЯТОР.
**(д)** Платформенная нашла на СВОЕЙ правке, что запрос починки дал бы последовательный скан растущей таблицы на каждом тике, и завела частичный индекс — предикат в предикат.
**5. Опровержения СОБСТВЕННЫХ находок — три за смену, и ни одно не было автору выгодно.** Движковая сняла свою же строку про исчезающие деньги банкового паса (суммируются из долговечных чекпойнтов; путь обрыва итога не печатает вовсе ⇒ недосчёт ненаблюдаем) и свой же маршрут «редрайв» из ⛔-половины 375 (`ResetChunkStages` удаляет и чекпойнты, и строки одной транзакцией — замещать нечего). Платформенная сняла свою первую серию замера коалесценции сигналов, найдя ошибку в ПРИБОРЕ (`D39.238` п.5).
**6. ⚠ И ПЯТЬ МОИХ ОШИБОК, снятых сессиями, — все пять здесь, потому что смягчать их в акте было бы ровно тем, что мы весь день ловим.** (а) Приписал сессии находки, пришедшие через третьи руки, — две из трёх ей не принадлежали, а по третьей у неё не было данных вовсе. (б) Сказал «в твоей правке `for update of r, a`» — её строка была `for update of r`, а найденные мною хиты принадлежали соседним функциям; из ложного «там замок» следовало ложное объяснение достаточности. (в) Объявил чужой адрес неразрешившимся — ноль дал МОЙ прибор, искавший имя хелпера там, где стоит его тело. (г) Записал чужим числом ошибку памяти — оба числа были верны, просто считали разное (строки файла против записей каталога). (д) Написал в строке 404, что механизма против уехавшего якоря нет, — он есть и стоит в самом `tmmutate`, который печатает `rotted` и завершается ненулём. ⇒ четыре НОРМЫ, купленные этими ошибками, — в ролевом промте: приписывание проверяется у ИСТОЧНИКА · у ЧИСЛА есть провенанс · греп находит СТРОКИ, а не АВТОРСТВО · при выносе блока проверяется «якорь ≥ начала разреза», а не «в диапазоне».
**7. Что осталось названным, а не закрытым.** По 375 закрыта ⛔-половина («обрыв не делает книгу хуже»), остались две: позиция с прежним вердиктом читается как полная (молчание вместо третьего состояния) и выгрузка, читающая отмену как выпавший текст. Цена размена названа строкой **405**: леджер полон, попозиционная проекция нет. Покрытие 389 УЖЕ починки: пины ловят класс через один путь, на рейт-гард и транспортный отказ пинов НЕТ — объявлено сессией. Цепочка «свип → остановка → настоящий systemd» не пройдена ничем — строка **403**. Строка **391** сужена: дешёвого решения у неё нет, выход С кадром — отдельный предмет.
**8. Границы.** Пункт 2 в движковой половине пере-снят мной целиком, включая собственную сплошную сверку якорей; платформенные числа — числа зоны. Пункты 45 — факты о работе сессий, не оценка. Живого платного прогона не было и не требовалось, **$0**.