Stop the live order pointing at a row that no longer exists and a disagreement that never did

This commit is contained in:
heaven 2026-09-11 11:06:12 +03:00
parent 30090d0b5f
commit 5fba848826

View file

@ -15,7 +15,12 @@
| промахов перечислено поимённо в `postcheck_detail` | **18** |
| ⛔ счётчик `n_postcheck_miss` | **0****при знаменателе 2** — подписанных термов в прогоне ровно два (`方源`, `古月山寨`), и обе их формы отгружены |
Восемнадцать расхождений **найдены и записаны в деталь поимённо**; счётчик, который называется «промахи»,
**ИСПР. 11.09 — ЧИСЛО 18 БОЛЬШЕ НЕ ДЕЙСТВИТЕЛЬНО, настоящих СЕМЬ.** Замер той же сессии: из восемнадцати
**одиннадцать ложные** — банковская форма доехала до читателя в том же юните СКЛОНЁННОЙ, а `SameStem` её не
признал (стеммер снимает ровно одно окончание; носитель — строка бэклога **419**). Ниже читай «18» как
«18 записей пост-проверки, из которых 7 настоящих».
Восемнадцать записей **найдены и записаны в деталь поимённо**; счётчик, который называется «промахи»,
говорит **ноль**, потому что промахом считается только ПОДПИСАННЫЙ термин (`internal/membank/mempostcheck.go`,
греп `Confirmed`), а все восемнадцать — `ambiguous`. ⚠ **Это ЗАМЫСЕЛ, а не баг:** комментарий там же прямо
говорит, что считать `ambiguous` промахом значило бы инвертировать контракт. ⛔ И ноль без знаменателя
@ -57,7 +62,7 @@
1. `CLAUDE.md` — цели владельца и гардрейлы.
2. `docs/architecture/18-bank-ontology.md` — РАТИФИЦИРОВАНА, обязательное пре-чтение перед всем, что трогает
банк.
3. Строки бэклога **406** · **407** · **417** · **418** (`docs/BACKLOG.md`, греп `^| N |`) — предмет; и
3. Строки бэклога **406** · **407** · **417** · **419** (`docs/BACKLOG.md`, греп `^| N |`) — предмет; и
**408** только в части, названной §4.5.
4. `docs/research/34-memory-bank-quality-audit.md`**через ревю-шапку** (статус: ФАКТУРА; из 15 находок
верификация отвергла 14, почти все за ЗАВЫШЕННЫЙ ВЕС; синтез написан после неё).
@ -154,14 +159,19 @@
**пример выше на данных прогона A НЕ ВОСПРОИЗВОДИТСЯ — демонстрировать придётся на синтетической фикстуре, и
это законно.** Знай до того, как потратишь час на поиск носителя.
### 4.4 ТРЕТЬЕ ОПРЕДЕЛЕНИЕ `spread` ЗАВОДИТЬ НЕЛЬЗЯ — **делай РОВНО так**
### 4.4 ⛔ ПУНКТ ОТОЗВАН 11.09 — РАСХОЖДЕНИЯ, РАДИ КОТОРОГО ОН ПИСАЛСЯ, НЕ СУЩЕСТВУЕТ
Два уже расходятся (ряд **418**): на 69 термах прогона счётчик `spread` равен длине списка форм у 68, и один
терм даёт 4 при трёх формах; плюс `other proposals` карты подписи даёт 2 там, где `drafts:` даёт 3. **Твой
счёт обязан идти тем же `foldVariants`, что и существующий**, и иметь пин равенства на данных прогона A.
**Пин вешай на ЗАМОРОЖЕННЫЙ артефакт** (`~/tm-coldrun-a/evidence/bankstop-paid/`): в живой карте подписи
ряда `古月山寨` уже НЕТ — он подписан и вышел из карты предложений.
Иначе пак добавит третье число к двум расходящимся.
Пункт требовал не заводить «третьего определения `spread`», потому что «два уже расходятся». **Расхождения
нет — это была моя ошибка чтения**, и поймала её ты же. Движок печатает ДВЕ РАЗНЫЕ величины В ОДНОЙ СТРОКЕ:
`spread=%d conventions=%d` (`backend/internal/pipeline/mining.go:542`), где `Spread()` считает Σ сырых форм, а
`Conventions() = len(Variants)` — свёрнутые классы; комментарий у определения
(`backend/internal/terminology/terminology.go:684-685`) говорит это прямым текстом. На 69 термах прогона
противоречий **ноль**: 60×(1,1) · 6×(2,2) · 2×(3,3) · 1×(4,3). Ряд 418 удалён, разбор — эррата в шапке
журнала решений.
**Что остаётся в силе и почему:** твой счёт всё равно идёт тем же `foldVariants`, что и существующий, и пин
равенства ты вешаешь — но не «чтобы не завести третье число», а **чтобы объяснение держалось прибором, а не
текстом**. Пин — на ЗАМОРОЖЕННЫЙ артефакт (`~/tm-coldrun-a/evidence/bankstop-paid/`).
### 4.5 ЛИНТ СИДА — **только Go-половина; данные НЕ трогать**