diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 415829c7..b599ff84 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -1,6 +1,6 @@ # Журнал прогресса -> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-09-06, голова D39.216 — КУРС: движок и платформа до «работает и отдаёт результат», фронт ЗАМОРОЖЕН и P7 его НЕ размораживает (D39.147). **ОЧЕРЕДЬ №22** (единственный носитель — здесь; роль передана 01.09, №21 закрыт нотой передачи D39.184). ⚠ **ЗАКАЗ ВЛАДЕЛЬЦА 01.09 — ПЕРВЫМ:** (0а) **ревизия документации на ПРОТУХШЕЕ** — по всем зонам, не только тронутым; (0б) **планы доработок в БЭКЕНД и ПЛАТФОРМУ** по остатку бэклога и регистра; (0в) **вынос неактуального в АРХИВ** (`docs/archive/`, `platform/docs/archive/`) — за сутки 31.08 закрыто много, и часть носителей стала историей. ⚠ Трезвость по масштабу (пере-считано 02.09): **90** живых дока в `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; счёт бэклога — бюллетенем ниже, открытых рядов регистра платформы — 106 (major 3), всего рядов 458 (пере-счёт `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-06, голова D39.217 — КУРС: движок и платформа до «работает и отдаёт результат», фронт ЗАМОРОЖЕН и P7 его НЕ размораживает (D39.147). **ОЧЕРЕДЬ №22** (единственный носитель — здесь; роль передана 01.09, №21 закрыт нотой передачи D39.184). ⚠ **ЗАКАЗ ВЛАДЕЛЬЦА 01.09 — ПЕРВЫМ:** (0а) **ревизия документации на ПРОТУХШЕЕ** — по всем зонам, не только тронутым; (0б) **планы доработок в БЭКЕНД и ПЛАТФОРМУ** по остатку бэклога и регистра; (0в) **вынос неактуального в АРХИВ** (`docs/archive/`, `platform/docs/archive/`) — за сутки 31.08 закрыто много, и часть носителей стала историей. ⚠ Трезвость по масштабу (пере-считано 02.09): **90** живых дока в `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; счёт бэклога — бюллетенем ниже, открытых рядов регистра платформы — 106 (major 3), всего рядов 458 (пере-счёт `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` и лечение новым прогоном). > ⛔ **ЧЕТЫРЕ ПОТОКА РАБОТЫ И ИХ ЗАВИСИМОСТИ (заведено 06.09; до этого жило только в переписке с владельцем).** > **(1) ПОЛИГОН — «ремонт прибора»** (`docs/POLYGON_INSTRUMENT_REPAIR_SESSION_PROMPT.md`, строки 319 · 300 · 265 · 143): > блокирующая линза слепого чтения меряет верность ЧЕРНОВИКУ, а судимой руке предписано отходить от него по исходнику diff --git a/docs/architecture/05-decisions-index.md b/docs/architecture/05-decisions-index.md index 6869458c..4ea31705 100644 --- a/docs/architecture/05-decisions-index.md +++ b/docs/architecture/05-decisions-index.md @@ -1,4 +1,4 @@ -# Реестр D-нот — карта актуальности v2 (D1–D39.216; титул — носитель головы, бампать при каждом аппенде) +# Реестр D-нот — карта актуальности v2 (D1–D39.217; титул — носитель головы, бампать при каждом аппенде) > ⚠ **Колонку «тело» `counts.py --check` НЕ сторожит по устройству:** он сверяет полноту НОМЕРОВ, а не > место тела, поэтому колонка держится дисциплиной лендинга. Не нашёл тело по колонке — иди в слайсы, @@ -275,3 +275,4 @@ | D39.214 | 06.09 | **«ЕСТЬ ПИН» ≠ «ПИН ДОКАЗЫВАЕТ СКАЗАННОЕ»** (`3524e47`, `49c1093`, `bf062a9`): одна трёхзначная эра протухла в ТРЁХ носителях по-разному, третьим был ЗЕЛЁНЫЙ тест — доказано отображение, сказано про жизнь. ⇒ цитируя пин, спрашивать «то ли он мерит», а не «зелен ли». Плюс: `not_started` без провенанса СПРОЕКТИРОВАН (`FinishParse`), база гейта алармов 12→14 законна как исполнение его же инструкции | ✅ | | D39.215 | 06.09 | **ОТЧЁТЫ КОДЕКСА: ПОЛЕЗНЫ, НО РАТИФИЦИРУЮТСЯ ПРОВЕРЕННЫЕ УТВЕРЖДЕНИЯ, А НЕ ФОРМУЛИРОВКИ** (консилиум: 40 клеймов, 31 подтверждён, 3 опровергнуты). ⛔ Центральное обвинение п.2 ОПРОВЕРГНУТО — принять его значило снять не то основание. ⭐ Сильнейший довод в отчётах ОТСУТСТВУЕТ: прибор замера штрафует поведение, которое сам заказывает. ⛔ Постчек банка молчит ровно тогда, когда сбывается названный им страх владельца. Строки 318–320 | ✅ | | D39.216 | 06.09 | **МАНДАТ ЧИСТОТЫ (решение владельца)**: проектировать и рефакторить без хаков и воркэраундов, где форма не тянет — переписывать; «дешевле подпереть» доводом не является; отступление объявляется С ЦЕНОЙ. ⛔ Носителя не было ВОВСЕ (ноль вхождений); `CLAUDE.md` нёс более узкое — запрет обходить НАЙДЕННУЮ ошибку. Обязан стоять строкой в каждом паке с проектированием | ✅ | +| D39.217 | 06.09 | **ПЕРЕДАЧА №22 → №23**: четыре потока в шапке PROGRESS · три нормы смены (дерево+популяция и ДРУГОЙ прибор · контрольная величина ПЕЧАТАЕТСЯ · мутация по ТЕКСТУ) · класс «прибор ответил на свой вопрос» — 8+ раз у всех ролей · **чем врал оркестратор** (комментарии вместо тестов, числа из писем, суд по заголовку) · датированный риск 16.10 · вопросы владельца | ✅ | diff --git a/docs/architecture/05-decisions-log.md b/docs/architecture/05-decisions-log.md index e20479b2..d379c506 100644 --- a/docs/architecture/05-decisions-log.md +++ b/docs/architecture/05-decisions-log.md @@ -1,4 +1,4 @@ -# Журнал решений оркестратора — контракт D1–D39.216 (живой файл: карта · эрраты · живые тела · голова D39.124+ (подрезка D39.139); тела закрытых эр — в слайсах `docs/archive/architecture/`, указатель ниже; реестр всех нот — `05-decisions-index.md`) +# Журнал решений оркестратора — контракт D1–D39.217 (живой файл: карта · эрраты · живые тела · голова 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+). @@ -2710,3 +2710,21 @@ $2.00» не мерил никто), **а утверждение о ПРОШЛО **4. Где обязан стоять.** Строкой «делай РОВНО так» в КАЖДОМ паке, где есть проектирование, начиная с дизайн-пака структуры глав (строка 161) и двух паков, выданных 06.09. ⚠ Отсутствие этой строки в промте — дефект промта, а не мелочь: сессия по умолчанию выбирает минимальную правку, и это подтверждено сменой 06.09 трижды на приборах. **5. Урок про сам мандат.** Владелец давал его в разговоре ДВАЖДЫ, и оба раза он оставался в переписке. **Решение, живущее только в письме, носителем не является** — тот же класс, что пять находок этой смены, только применённый к слову владельца, а не к находке сессии. + +## D39.217 — ПЕРЕДАЧА РОЛИ ОРКЕСТРАТОРА №22 → №23: чем эта смена дорога и где она врала (06.09) ✅ + +**1. Первое, что нужно знать преемнику.** Очередь и состояние — в шапке `docs/PROGRESS.md`, где 06.09 записаны **четыре потока и их зависимости** (ремонт прибора ⇒ фаза Д приостановлена · закон банка · деньги платформы · дизайн-пак 161 НЕ НАПИСАН). До 06.09 они жили только в переписке с владельцем, и передать их было нечем. Промты трёх паков выданы и лежат в таблице `docs/README.md`. + +**2. ⛔ ГЛАВНОЕ НАСЛЕДСТВО — НЕ РЕШЕНИЯ, А ТРИ НОРМЫ, И КАЖДУЮ ПРИНЕСЛА НЕ ТА СТОРОНА, ЧТО ЕЁ ЗАПИСЫВАЛА.** (а) **Число называет ДЕРЕВО и ПОПУЛЯЦИЮ, а проверять его надо ДРУГИМ прибором** — принёс верификатор, после того как я «пере-мерил» его находку ЕГО ЖЕ командой и воспроизвёл его ошибку, а не нашёл её. (б) **Отрицательный замер ПЕЧАТАЕТ контрольную величину рядом с нулём** («0 строк» и «нет такой таблицы» в выводе неразличимы) — принёс строитель, нарушив её в том же письме, где предложил. (в) **Мутация засчитывается по ТЕКСТУ сообщения, а не по факту красноты** — принесла платформа, поймав правый вердикт по неправой причине. Плюс приём, стоящий одной строки: **письмо «всё закрыто» — сигнал идти перечитывать СВОИ утверждения о закрытом, а не чужие правки**; два из шести случаев класса найдены так. + +**3. ⛔ КЛАСС, КОТОРЫЙ СРАБОТАЛ ЗА СМЕНУ НЕ МЕНЬШЕ ВОСЬМИ РАЗ У ВСЕХ РОЛЕЙ: «прибор ответил на свой вопрос, а прочитали его как ответ на твой».** Форма разная, корень один: гейт версии сверял ЧИСЛА, а формы расходились · постчек банка молчит ровно тогда, когда сбылся названный им страх владельца · батарея печатала «every test ran» при пяти скипах, потому что грепу нечего было читать · линт печатал «0 проблемных» при 1776 несверяемых якорях · «0 совпадений» означало «нет такой таблицы». ⚠ Ловило это НЕ внимание, а **расхождение с чужим числом** и **другой прибор**. + +**4. ⛔ ЧЕМ ВРАЛ Я, чтобы преемник не наследовал это как факт.** Канон за сутки принял от меня **не меньше шести** ложных утверждений, и ещё три — в текстах ПРО эти шесть (эрраты 06.09-в…к). Классы: писал по КОММЕНТАРИЯМ кода, а не по тестам · брал числа из ПИСЕМ зон, не пересчитав · объявлял «исправлено» и «записано» без грепа · **дважды судил по ЗАГОЛОВКУ, не прочитав содержимое** — и вторым разом едва не вынес в архив реестр из 36 живых решений платформы, приняв его за хронику. ⇒ **исполнимые шаги против всего этого записаны в ролевой промт; они дороже, чем выглядят.** + +**5. Что заландено содержательно.** Канон `0.12.0` с честной формой заказа по размеру · прибор приёмки платформы перестал выдавать справку о неизмеренном · заявленное нечитаемое оглавление больше не тонет молча · ресёрч `research/33` по техдолгу бэкенда (11 долгов, 20 снято, **ни один не требует переписывания**) · мандат чистоты владельца `D39.216`, у которого не было носителя вовсе · строки бэклога 306–327. + +**6. ⚠ Обязательства, переходящие на №23.** Дизайн-пак 161 не написан. Строка 295 снята из бэкенд-пака и нуждается в разделении зон. **Датированный риск: замерный судья на модели с отключением 16.10.2026** (строка 327) — шесть недель от передачи, и до 06.09 носителя у него не было. Триаж зонного журнала платформы (5029 строк) заказан пунктом 0 её пака, прибор — `docs/scripts/carriers.py`. Ревью-шапки с датами поправок для `PLATFORM_DIRECTION` и `ENGINEERING_STANDARDS` — не сделаны. + +**7. Вопросы ВЛАДЕЛЬЦА, ждущие его слова.** Определение беты (консьерж против самообслуживания; критерия впуска в дереве НЕТ, строка 326) · дата повтору сравнения «черновик→редактор против банка из оригинала + сильного прямого» — ⚠ фрагментный замер БЫЛ и вывод его ОТОЗВАН (эррата 06.09-к), «не измерен ни разу» неверно · окно перекроя глав держится решением владельца о впуске, а не календарём · `f1e9226` записан отступлением и ратификации не получил · коэффициент холда `k` выведен, а не измерен. + +**8. ⭐ Что я сделал бы иначе.** Промты выдал мимо ДВУХ обязательных рубежей собственного ролевого промта, и поймал это не я. Замер границы беты настроил так, что опровергатели сняли все 14 блокеров — прибор отвечал на «есть ли обход?», а не на вопрос владельца. **Оба раза цена одна: я проверял чужое усерднее, чем своё.**