Fold into the naming rule the two exemptions without which it reddens four times over: a truncated citation resolves, and a tombstone is not a defect
This commit is contained in:
parent
a49e0f392f
commit
8d39a3d633
1 changed files with 1 additions and 1 deletions
|
|
@ -349,7 +349,7 @@
|
|||
| 296 | **ТОЧЕЧНАЯ ПЕРЕГЕНЕРАЦИЯ ПО ПРОМАХУ ГЛОССАРИЯ — направление владельца 05.09 («или флагать, или перегенерировать проблемный участок»), работы сегодня НЕТ.** Актуаторы ремонта — только `RepairLatinResidue` и `RepairBrokenWord` (`backend/internal/pipeline/repair.go`, греп `defaultRepairClasses`); `glossary_miss` нет ни там, ни в `knownRepairClasses`. Сегодняшние лекарства не точечные и обе дороги: удержать ВЕСЬ фрагмент (гейт) либо править глоссарий с `--resnapshot`, то есть ПЕРЕ-ОПЛАТИТЬ книгу. ⇒ заказ: `glossary_miss` как класс-актуатор — перегенерация участка с подписанной формой. ⚠ Гейтится строкой **295**: без замера точности перегенерация по ложному срабатыванию перепишет верный текст | бэкенд | когда-нибудь (после 295) | новый класс актуатора + пост-инвариант | **D39.205** |
|
||||
| 297 | ⛔ **СЛОВАРЬ ПРОВЕНАНСА СТРУКТУРЫ КОРОЧЕ НА ОДНО ЗНАЧЕНИЕ, И ПЛАТФОРМА ЖИВЁТ НА ВРЕМЕННОМ ПРАВИЛЕ.** Для EPUB-spine ложны ВСЕ ТРИ значения `Document.Structure` (`backend/internal/chunk/ingest.go:70-113`): `declared` = «ФОРМАТ назвал границу», а spine называет ПОРЯДОК ЧТЕНИЯ, и «документ = глава» — догадка движка, не слово формата; `detected` определено МЕХАНИЗМОМ «header-shaped lines in the prose» (`splitTextChapters`), которого здесь не было; `none` = «одна глава». ⚠ Само поле спроектировано ВЕРНО — оно отвечает на «КАКОЙ ПУТЬ провёл границы» (`:94-95`); неверна его же первая строка (`:70`), рекламирующая «how much the chapter cut can be trusted». Прибор отвечает на свой вопрос, а читают его как ответ на другой, и здесь неверное чтение НАПЕЧАТАНО ВНУТРИ прибора, двумя строками выше верного. Пока значения нет, платформа исполняет потребительское решение, прописанное в самом комментарии (`:93-94`, «decline to offer an order in chapters»): `declared` ведётся как `none` для целей ползунка заказа. **Правило ВРЕМЕННОЕ, и снятие его — уборка, а НЕ сцепленный деплой.** Добавить значение можно АДДИТИВНО: `manifestVersion` версионирует ФОРМУ ДОКУМЕНТА (`backend/internal/pipeline/manifest.go:40-46`), а новое значение строкового поля формы не меняет — так же приехали сами `Structure` и `Price`. Стоп-мир возник бы только из CHECK-ограничения схемы платформы (`platform/internal/pgstore/migrations/00033_order_and_price.sql:28`), которое противоречит её же обещанию «unknown → not recognised» и снимается ДО лендинга. ⇒ как только движок пошлёт новое значение для spine, платформа прочтёт неизвестное как `none` своим `StructureTrusted`, и ползунок станет верным САМ, без правки на её стороне. ⚠ По тому же правилу под недостающее значение попадает и `\f` в txt — form feed есть разрыв СТРАНИЦЫ, а не утверждение о главе, и сегодня он тоже `declared`; решает структурный пак | бэкенд+платформа | скоро (структурный пак) | недостающее значение на проводе, и `declared` означает ТОЛЬКО объявленную форматом структуру глав | **D39.202**, D39.205 |
|
||||
| 298 | ⛔ **`unit_resolutions` КЛЮЧЕВАНЫ ПОЗИЦИЕЙ, И ЛЮБОЙ ПЕРЕКРОЙ ИХ СНОСИТ ЦЕЛИКОМ.** Ключ `(book_id, chapter, unit, wave)` позиционен по построению, и миграция это прямо объявляет: «keyed by the ENGINE's own ordinals» (`platform/internal/pgstore/migrations/00015_seam_ceiling_and_units.sql:50-56`); событие `unit_done` несёт номер главы и ординал юнита, синк пишет их как есть (`platform/internal/pgstore/sink.go:249`). Потому при перекрое платформа ОБЯЗАНА удалять решения — иначе они перевесятся на чужую главу. Сегодня цена нулевая: решения есть только у стенд-книги, и это окно закрывается с каждой новой платной книгой. ⇒ разрешать `(chapter, unit)` в идентификатор ПРИ ПРИЁМЕ события, пока дерево у платформы на руках, и хранить идентификатор. Платформенная половина структурного пака: миграция плюс синк. ⚠ Этой строкой НЕ закрывается одноразовая перечеканка всех id при смене смысла `cutTag` — это другой предмет и другая цена | бэкенд+платформа | скоро (структурный пак) | решения переживают перекрой, не переклеиваясь на чужую главу | **D39.202** |
|
||||
| 299 | ⛔ **ИМЯ В GO-КОММЕНТАРИИ, КОТОРОЕ НИ ВО ЧТО НЕ РАЗРЕШАЕТСЯ, — И НИЧТО ЭТОГО НЕ ЛОВИТ.** Два живых носителя, найдены верификацией 05.09 (`D39.207` п.3): **(а)** `backend/internal/runevents/runevents.go:187` цитирует `docs/BACKEND_MONEYSTOP_SESSION_PROMPT.md:78`, а файл УДАЛЁН — промт уведён в архив тем же коммитом, что писал акт, и цитируемая фраза лежит в архивной копии на другой строке; **(б)** `backend/internal/config/internal_call.go:11` и `backend/internal/pipeline/live_reprobe_test.go:14` называют сторожами тесты `TestSyntheticStageSeamIsSingle` и `TestProviderEgressSeamIsSingle`, которых в дереве НЕТ — инварианты при этом реально сторожатся вет-анализаторами `StageSeam`/`EgressSeam` (`backend/internal/archguard/archguard.go:80,377`), то есть гарантия цела, а назначенный ей сторож ВЫДУМАН. Замер верификатора: из 2026 упомянутых в Go имён `Test…` определены 2012; из восьми неразрешающихся четыре — не дефекты (надгробия и иллюстрация), два — мелочь, два — эти. ⇒ **дешёвая половина открытого вопроса `D39.202` п.9: не «доказал ли каталог, что названный тест умеет падать» (дорого, требует интеграции с `tmmutate`), а «РАЗРЕШАЕТСЯ ли названное имя вообще» — это греп, и сегодня он находит два дефекта.** ⚠ `counts.py --lint` этого класса не видит по построению: он читает доки, а не код | бэкенд | скоро | грепом: имя `Test…` и `<док>.md:<строка>` в Go разрешаются, иначе красно | **D39.207**, D39.202 |
|
||||
| 299 | ⛔ **ИМЯ В GO-КОММЕНТАРИИ, КОТОРОЕ НИ ВО ЧТО НЕ РАЗРЕШАЕТСЯ, — И НИЧТО ЭТОГО НЕ ЛОВИТ.** Два живых носителя, найдены верификацией 05.09 (`D39.207` п.3): **(а)** `backend/internal/runevents/runevents.go:187` цитирует `docs/BACKEND_MONEYSTOP_SESSION_PROMPT.md:78`, а файл УДАЛЁН — промт уведён в архив тем же коммитом, что писал акт, и цитируемая фраза лежит в архивной копии на другой строке; **(б)** `backend/internal/config/internal_call.go:11` и `backend/internal/pipeline/live_reprobe_test.go:14` называют сторожами тесты `TestSyntheticStageSeamIsSingle` и `TestProviderEgressSeamIsSingle`, которых в дереве НЕТ — инварианты при этом реально сторожатся вет-анализаторами `StageSeam`/`EgressSeam` (`backend/internal/archguard/archguard.go:80,377`), то есть гарантия цела, а назначенный ей сторож ВЫДУМАН. Замер верификатора: из 2026 упомянутых в Go имён `Test…` определены 2012; из восьми неразрешающихся четыре — не дефекты (надгробия и иллюстрация), два — мелочь, два — эти. ⇒ **дешёвая половина открытого вопроса `D39.202` п.9: не «доказал ли каталог, что названный тест умеет падать» (дорого, требует интеграции с `tmmutate`), а «РАЗРЕШАЕТСЯ ли названное имя вообще» — это греп, и сегодня он находит два дефекта.** ⚠ `counts.py --lint` этого класса не видит по построению: он читает доки, а не код. ⚠⚠ **ДВА ПРАВИЛА, БЕЗ КОТОРЫХ ГЕЙТ ВЫКЛЮЧАТ НА ВТОРОЙ ДЕНЬ** (принесены верификатором вместе с находкой): **(1)** разрешением считается и ПРЕФИКС — доки и комментарии цитируют имя усечённым, как греп-цель; **(2)** НАДГРОБИЯ не дефект — комментарий, прямым текстом говорящий «удалён/заменён», законен, как и иллюстративное имя в примере. Замер, обосновывающий оба: из восьми неразрешающихся имён СЕГОДНЯ четыре — надгробия и иллюстрация, два — усечение в шапке над функцией, и лишь два — настоящие выдуманные сторожа. Гейт без этих правил краснеет 8 из 8, то есть врёт вчетверо, и его погасят — а гейт умирает не отключением, а вытеснением из привычки (`D39.202` п.3-бис) | бэкенд | скоро | грепом: имя `Test…` и `<док>.md:<строка>` в Go разрешаются, иначе красно | **D39.207**, D39.202 |
|
||||
|
||||
*(Указатели на архив-слайсы хроники — бюллетенем «Архивы хроники» в CURRENT-STATE; здесь копий нет.)*
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue