Rebuild the findings registry after the controller caught verdicts attributed by line instead of quote, and rewrite the plan around the batches it rejected
This commit is contained in:
parent
611e07595f
commit
5fb3a7e317
2 changed files with 3343 additions and 1256 deletions
|
|
@ -1,380 +1,200 @@
|
|||
# ПЛАН РАЗБОРА ТЕХДОЛГА ДОКУМЕНТАЦИИ — заказ владельца 01.09.2026
|
||||
|
||||
> **⚠ ВРЕМЕННЫЙ РАБОЧИЙ ДОКУМЕНТ.** Живёт, пока идёт разбор; по закрытию последнего батча
|
||||
> уезжает в `archive/` вместе с реестром находок. Держать его в живых доках после закрытия —
|
||||
> значит сделать ровно то, против чего заказан сам разбор.
|
||||
> **⚠ РЕДАКЦИЯ 2. Редакция 1 ОТКЛОНЕНА контролёром (Fable 5.1) и переписана.** Что он нашёл и что
|
||||
> исправлено — раздел «Почему ред.1 отклонена». Главное: реестр находок был собран с дефектом
|
||||
> атрибуции, и план исполнялся бы по чужим поправкам.
|
||||
>
|
||||
> **Заказ владельца дословно:** свести находки в план и идти по нему · привести документацию
|
||||
> в хороший порядок · **с бэклогом ПООСТОРОЖНЕЕ** · спилить лишнее, актуализировать ·
|
||||
> **старое и откровенно лишнее выкинуть, актуальное оставить и НЕ ПОТЕРЯТЬ** · старые решения
|
||||
> и мусор спиливать, чтобы не забивать контекст сессиям · **касается и фронтовой, и
|
||||
> платформенной, и бэкенд-документации** (прямая санкция на чужие зоны, выданная 01.09).
|
||||
> **⚠ ВРЕМЕННЫЙ РАБОЧИЙ ДОКУМЕНТ.** По закрытию последнего батча уезжает в `archive/` вместе с
|
||||
> реестром. Держать его в живых доках после закрытия — сделать ровно то, против чего он заказан.
|
||||
>
|
||||
> **Контроль исполнения — отдельный агент модели Fable 5** (решение владельца 01.09): после
|
||||
> КАЖДОГО коммита я предъявляю ему коммит, он сверяется с реестром находок и выносит, верно ли
|
||||
> закрыто. Пинг-понг идёт, пока обе стороны не скажут «техдолг закрыт». Мой самоотчёт
|
||||
> закрытием НЕ считается.
|
||||
> **Заказ владельца дословно:** свести находки в план и идти по нему · привести документацию в
|
||||
> хороший порядок · **с бэклогом ПООСТОРОЖНЕЕ** · спилить лишнее, актуализировать · **старое и
|
||||
> откровенно лишнее выкинуть, актуальное оставить и НЕ ПОТЕРЯТЬ** · старые решения и мусор
|
||||
> спиливать, чтобы не забивать контекст сессиям · **касается фронтовой, платформенной и
|
||||
> бэкенд-документации** (прямая санкция на чужие зоны, 01.09).
|
||||
>
|
||||
> **Контроль исполнения — агент модели Fable 5.1**, поднят по оригинальному воркфлоу ревью
|
||||
> (получил скрипт воркфлоу и сырой журнал 30 агентов). Контекст у него сквозной и не стирается.
|
||||
> После КАЖДОГО коммита я предъявляю коммит, он сверяет с реестром и выносит вердикт.
|
||||
> **Мой самоотчёт закрытием не считается.** Пинг-понг идёт, пока ОБЕ стороны не скажут «закрыто».
|
||||
|
||||
## Почему ред.1 отклонена (находки контролёра, все проверены моей командой)
|
||||
|
||||
1. **Реестр собран с дефектом атрибуции.** Вердикты опровергателей присваивались по паре
|
||||
`(файл, строка)`, а на одной строке сидит до ШЕСТИ находок (`docs/PROGRESS.md:3` — шесть).
|
||||
Все они получали поправку ПОСЛЕДНЕЙ. Затронуто 10 находок. Цена, если бы пошёл по ред.1:
|
||||
переписал бы `docs/README.md:29`, которую ДВА опровергателя независимо велели не трогать;
|
||||
снял бы с листа владельца живое обязательство (N076); искал бы в `docs/` файл, который уже
|
||||
в архиве (N075). **Исправлено:** матч по дословной цитате, 82 вердикта на 82 разные находки,
|
||||
дублей 0.
|
||||
2. **N015 носила чужой вердикт «ПОДТВЕРЖДЕНО»**, не выносившись на пере-суд. Исправлено: honest
|
||||
«НА ПЕРЕ-СУД НЕ ВЫНОСИЛАСЬ».
|
||||
3. **Улики были обрезаны на ~700 знаках**, и в хвостах терялись именно положительные контроли;
|
||||
разбор опровергателей (`reasoning`, 82 вердикта с уликами) в реестр не попадал вовсе.
|
||||
Исправлено: реестр без капа, с разбором.
|
||||
4. **Б13 ред.1 был батчем на ПОТЕРЮ:** три позиции из четырёх противоречили выводам ревизии
|
||||
(`platform/docs/p8-review/` цитируется боевым тестом `spendbound_test.go`; `backend/docs/SEAM_*`
|
||||
— носитель D39.158 ссылается на них пятью местами; `MONEY_HONESTY_REPORT` назначен носителем
|
||||
живого остатка строки 232). Осталась ОДНА законная позиция — переезд отработавшего промта.
|
||||
5. **Б9 «баннеры ИЛИ архив» — «или архив» снят:** 01/04/06 цитирует Go-код десятком мест.
|
||||
6. **«Планы доработок в бэкенд и платформу» вынесены из плана:** это заказ (0б), а не техдолг
|
||||
доков; держать его критерием «техдолг закрыт» нельзя — он бесконечен по определению.
|
||||
|
||||
## Источники
|
||||
|
||||
- **Реестр находок** — [`DOC_REVISION_FINDINGS.md`](DOC_REVISION_FINDINGS.md): 130 живых находок
|
||||
с уликами (команда + вывод), по одной секции `N001`…`N130`.
|
||||
- **Снятые опровергателем** — [`DOC_REVISION_REFUTED.md`](DOC_REVISION_REFUTED.md): 7 находок,
|
||||
которые адверсариальный проход ОПРОВЕРГ. ⚠ Их чинить НЕЛЬЗЯ: «починка» вернёт дефект.
|
||||
- [`DOC_REVISION_FINDINGS.md`](DOC_REVISION_FINDINGS.md) — **реестр ред.2**, 130 находок с уликами.
|
||||
- [`DOC_REVISION_REFUTED.md`](DOC_REVISION_REFUTED.md) — 7 снятых. ⚠ **Чинить нельзя**: починка
|
||||
вернёт дефект.
|
||||
|
||||
## Как добыты находки (чтобы вес был понятен)
|
||||
## Дисциплина разбора (жёсткая)
|
||||
|
||||
Воркфлоу `docs-staleness-revision-A`, 15 срезов × (ревизор + опровергатель), 30 агентов, 0 отказов,
|
||||
1689 вызовов инструментов. **1432 утверждения проверены ИСПОЛНЕНИЕМ**, 115 положительных контролей
|
||||
(норма: отрицательный результат предъявляется вместе с доказательством, что инструмент в этой
|
||||
области способен хоть что-то найти). Найдено 137 → адверсариальный пере-суд снял 7 → **осталось 130**.
|
||||
|
||||
⚠ **Вес находки не одинаков.** 82 разрушающие и блокерные прошли пере-суд (75 ПОДТВЕРЖДЕНО).
|
||||
Остальные проверены ОДНИМ агентом — они наряд на перепроверку, а не истина: исполнять их на
|
||||
доверии запрещено, каждую верифицирую своей командой перед правкой.
|
||||
|
||||
## Дисциплина разбора (жёсткая, из заказа владельца)
|
||||
|
||||
1. **Не потерять.** Прежде чем удалить абзац/строку/док — грепнуть его отличительный токен по
|
||||
всему дереву и назвать, куда уехало содержимое. Удаление без адреса = потеря.
|
||||
2. **Бэклог — осторожно.** Строку закрываем ТОЛЬКО когда лекарство предъявлено в коде своей
|
||||
командой. ID строк стабильны навсегда и на них ссылаются доки — закрытая строка уезжает в
|
||||
D-ноту с номером решения, а не стирается молча.
|
||||
3. **Чужие зоны.** Санкция владельца выдана на ДОКУМЕНТАЦИЮ. Код чужих зон не трогаю.
|
||||
Каждая правка чужого дока объявляется в зонном журнале, чтобы зона увидела.
|
||||
4. **Гейты перед каждым коммитом:** `counts.py --check` и `--lint`, `git status` на чужое,
|
||||
1. **Поправка опровергателя ПЕРВИЧНА.** Где в находке стоит «⚠ ПОПРАВКА ОПРОВЕРГАТЕЛЯ» —
|
||||
исполняется она, а не «Предложенное действие». Поправка есть у **67 из 130**, и часть
|
||||
ПРОТИВОПОЛОЖНА исходному действию.
|
||||
2. **Не вписывать новые голые `file:line`** — сгниют так же. Форма: токен-якорь
|
||||
`` файл:строка=`подстрока` `` либо ссылка на символ. Прямо требуют десять поправок.
|
||||
3. **Вес находки не одинаков.** «НА ПЕРЕ-СУД НЕ ВЫНОСИЛАСЬ» = проверена одним агентом = наряд на
|
||||
перепроверку. Верифицировать своей командой ДО правки.
|
||||
4. **Не потерять.** Перед удалением абзаца/строки/дока — грепнуть отличительный токен и назвать
|
||||
адрес, куда уехало содержимое. Удаление без адреса = потеря.
|
||||
5. **Бэклог — осторожно.** Строка закрывается ТОЛЬКО с предъявленным в коде лекарством. ID строк
|
||||
стабильны навсегда, на них ссылаются доки: закрытая строка уезжает в D-ноту с номером решения.
|
||||
6. **Чужие зоны.** Санкция владельца — на ДОКУМЕНТАЦИЮ; код чужих зон не трогаю.
|
||||
**Объявление = строка в зонном журнале ТЕМ ЖЕ коммитом** (иначе зона не увидит).
|
||||
7. **Гейты перед каждым коммитом:** `counts.py --check` и `--lint`, `git status` на чужое,
|
||||
коммит только явным списком путей.
|
||||
5. **Соседний worktree `/home/ubuntu/projects/textmachine` — НЕ ТРОГАТЬ** (указание владельца
|
||||
01.09): ни чтением, ни записью, ни git-командой. Каталог `books/` — симлинк туда же.
|
||||
8. ⛔ **Соседний worktree `/home/ubuntu/projects/textmachine` — НЕ ТРОГАТЬ ВООБЩЕ** (указание
|
||||
владельца 01.09): ни чтением, ни `git -C`. `books/` — симлинк туда же.
|
||||
|
||||
## Порядок и зависимости (требование контролёра)
|
||||
|
||||
- **Б0 идёт первым:** факт «канон 0.9.0» размазан по пяти батчам; пять коммитов дали бы четыре
|
||||
промежуточных состояния, где часть носителей врёт.
|
||||
- **Б2 (переезд промта) — до Б4:** N075 даёт развилку «перенести файл ИЛИ переписать текст».
|
||||
Если Б4 выберет текст, а Б2 потом перенесёт файл — текст снова ложь.
|
||||
- **Б1 — одна нота на четыре строки** (194/238/239/240): это одно событие, лендинги 31.08.
|
||||
- **Б6 после Б4:** якоря реестра 13 ссылаются на строки бэклога.
|
||||
|
||||
## Батчи
|
||||
|
||||
Порядок — по убыванию цены ошибки. Каждый батч = один коммит = одна сверка контролёра.
|
||||
|
||||
| Батч | Предмет | Находок | бл / maj / min | Статус |
|
||||
| Батч | Предмет | Находок | бл/maj/min | Статус |
|
||||
|---|---|---|---|---|
|
||||
| **Б1** | Блокеры бэклога: строки, закрытые кодом, но открытые в таблице | 3 | 3 / 0 / 0 | ⬜ не начат |
|
||||
| **Б2** | Денежный путь `15-money-path.md` | 7 | 2 / 3 / 2 | ⬜ не начат |
|
||||
| **Б3** | Шапка журнала и остальной PROGRESS | 17 | 0 / 9 / 8 | ⬜ не начат |
|
||||
| **Б4** | Контракт API 14 (README + openapi) | 10 | 0 / 5 / 5 | ⬜ не начат |
|
||||
| **Б5** | Реестр загейченных триггеров 13 | 8 | 0 / 5 / 3 | ⬜ не начат |
|
||||
| **Б6** | Шов и эмиттер: 16, 17 | 11 | 0 / 8 / 3 | ⬜ не начат |
|
||||
| **Б7** | Движковые арх-доки: 03, 09, 10, 12 | 17 | 0 / 5 / 12 | ⬜ не начат |
|
||||
| **Б8** | Корневые и онбординг: CLAUDE.md, README, STACK, glossary, product-requirements | 17 | 0 / 6 / 11 | ⬜ не начат |
|
||||
| **Б9** | Ранние арх-доки 01/04/06 — баннеры или архив | 6 | 0 / 1 / 5 | ⬜ не начат |
|
||||
| **Б10** | ЧУЖАЯ ЗОНА (санкция владельца 01.09): бэкенд-доки | 10 | 0 / 6 / 4 | ⬜ не начат |
|
||||
| **Б11** | ЧУЖАЯ ЗОНА (санкция владельца 01.09): фронт-доки | 16 | 0 / 9 / 7 | ⬜ не начат |
|
||||
| **Б12** | ЧУЖАЯ ЗОНА (санкция владельца 01.09): платформенные доки | 8 | 1 / 4 / 3 | ⬜ не начат |
|
||||
| **Б0** | СКВОЗНОЙ: «канон 0.9.0» одним касанием — требование контролёра 2.2 | 7 | 0/6/1 | ⬜ |
|
||||
| **Б1** | Блокеры бэклога + строка 240: ОДНА нота на четыре строки | 4 | 3/1/0 | ⬜ |
|
||||
| **Б2** | Переезд ОТРАБОТАВШЕГО промта (git mv) — раньше Б4, т.к. N075 от него зависит | 1 | 0/0/1 | ⬜ |
|
||||
| **Б3** | Денежный путь 15-money-path.md (+ парная правка 17:101 по N004) | 7 | 2/3/2 | ⬜ |
|
||||
| **Б4** | Шапка журнала и остальной бэклог | 14 | 0/7/7 | ⬜ |
|
||||
| **Б5** | Контракт API 14 | 8 | 0/4/4 | ⬜ |
|
||||
| **Б6** | Реестр загейченных триггеров 13 | 8 | 0/5/3 | ⬜ |
|
||||
| **Б7** | Шов и эмиттер 16, 17 | 11 | 0/8/3 | ⬜ |
|
||||
| **Б8** | Движковые арх-доки 03, 09, 10, 12 | 16 | 0/4/12 | ⬜ |
|
||||
| **Б9** | Корневые и онбординг: CLAUDE.md, README, STACK, glossary, product-requirements | 15 | 0/4/11 | ⬜ |
|
||||
| **Б10** | Ранние арх-доки 01/04/06 — ТОЛЬКО баннеры, архив СНЯТ (контролёр 4.2) | 6 | 0/1/5 | ⬜ |
|
||||
| **Б11** | ЧУЖАЯ ЗОНА: бэкенд-доки — баннеры, НЕ архив (N074 corrected) | 10 | 0/6/4 | ⬜ |
|
||||
| **Б12** | ЧУЖАЯ ЗОНА: фронт-доки (три неприкасаемых) | 15 | 0/8/7 | ⬜ |
|
||||
| **Б13** | ЧУЖАЯ ЗОНА: платформенные доки | 8 | 1/4/3 | ⬜ |
|
||||
| **Б14** | Углы вне ОБЕИХ сеток: `PROGRESS` 19–56 и 273–483 · `ORCHESTRATOR_SESSION_PROMPT.md` (32 КБ, не аудирован никем) · `05-decisions-index.md` статусы · шапка D-лога · `platform/BACKLOG.md` · `platform-PROGRESS.md` (415 КБ) · `DEFECT_REGISTER.md` (782 КБ) · `docs/POLYGON_*` | — | — | ⬜ |
|
||||
| **Б15** | Явный мусор: байт-дубль промта P0 в двух архивах · `frontend/docs/API_CONTRACT_{DRAFT,INPUT}.md` (78 КБ с баннером «не читать» в ЖИВОМ каталоге) · `16-events-emitter` §5–§6 · `14-README` §6б/6в | — | — | ⬜ |
|
||||
| **Б16** | Шапки статуса у `research/**` и `experiments/**` (60 файлов): тела НЕ трогать (D23.3), только датированная строка статуса там, где её нет | — | — | ⬜ |
|
||||
| **Б17** | Пинги зонам по МЁРТВЫМ УКАЗАТЕЛЯМ В КОДЕ (не доки, правит зона): `artifact.go:11` · `backup.go:28` · `pgstore/books.go:776` · `languages.ts:3-8` · `tmctl/main.go:72` · `store/ledger.go:172` · `cheapgates.go:34` · `pipeline.puml:72` | — | — | ⬜ |
|
||||
|
||||
### Состав батчей поимённо
|
||||
### Критерии приёмки по батчам
|
||||
|
||||
|
||||
**Б1 — Блокеры бэклога: строки, закрытые кодом, но открытые в таблице**
|
||||
**Б0 — СКВОЗНОЙ: «канон 0.9.0» одним касанием — требование контролёра 2.2**
|
||||
Находки: N013, N022, N026, N034, N053, N056, N108
|
||||
**Приёмка:** `grep -rn '0\.8\.0' docs/ CLAUDE.md` вне исторических записей = 0; **`docs/README.md:29` НЕ тронута** (два опровергателя независимо: это корректная историческая запись о D39.169); `README:26` уже несёт 0.9.0 — не дублировать.
|
||||
|
||||
- `N001` блокер · `docs/PROGRESS.md:176` · C-исполненное-как-открытое — Строка 194 ЗАКРЫТА лендингом 31.08 (`bb541a8`, экземпляр A10 закона раскрытия): `projectBookUSD(...) + r.bankRoleCommittedUSD()` уже стоит в `status.g
|
||||
|
||||
- `N002` блокер · `docs/PROGRESS.md:200` · C-исполненное-как-открытое — Строка 238 ЗАКРЫТА тем же лендингом 31.08 (`bb541a8`, экземпляр A6 «проекция видит правку исходника»). Посадка `rebillsource_test.go` называет строку
|
||||
**Б1 — Блокеры бэклога + строка 240: ОДНА нота на четыре строки**
|
||||
Находки: N001, N002, N003, N021
|
||||
**Приёмка:** `grep -c '^| 194 \|^| 238 \|^| 239 \|^| 240 ' docs/PROGRESS.md` = 0; тело ноты несёт ВСЕ четыре номера, оба опровержения N001 (ось «сдвиг снапшота» И «не входят в число согласия»), экземпляры A6, A7+A12, обе половины улики 240 с оговоркой про `local`-заглушку; `docs/PROGRESS.md:282` больше не предлагает 238/239 как свободную работу; литералы очереди пере-считаны **скриптом** (`counts.py`), не руками; `counts.py --check` зелёный (голова сдвинется — сверить все три носителя).
|
||||
|
||||
- `N003` блокер · `docs/PROGRESS.md:201` · C-исполненное-как-открытое — Строка 239 ЗАКРЫТА лендингом 31.08 (`bb541a8`, экземпляр A7+A12). Правило `exportConfigDrift` не «перенесено», а сведено в ОДНО общее определение `orp
|
||||
|
||||
**Б2 — Переезд ОТРАБОТАВШЕГО промта (git mv) — раньше Б4, т.к. N075 от него зависит**
|
||||
Находки: N075
|
||||
**Приёмка:** `git show --stat` = ровно rename + `docs/README.md`; после — `grep -rn 'docs/BACKEND_COLDRUN_V16'` даёт только исторические носители (архивный отчёт, D-лог, реестр нот), `COLDRUN_V16_REPORT:51` НЕ тронут (тело архивного отчёта); обе протухшие половины строки `README.md:25` поправлены («развилка НА ВЛАДЕЛЬЦЕ» → закрыта 31.08; «отчёт ждёт лендинга» → заленджен); ⚠ литерал «86 живых доков» в CURRENT-STATE уменьшится — `counts.py` его НЕ сторожит, править руками или снять.
|
||||
|
||||
**Б2 — Денежный путь `15-money-path.md`**
|
||||
|
||||
- `N004` блокер · `docs/architecture/15-money-path.md:31` · D-противоречие-ратифицированному — Числа взяты из D39.165 §1 (28.08) и меряны на леджерах ДО ценового перелома. D39.179 п.1 (31.08) ратифицировал: DeepSeek пере-пинен под цены, вступивш
|
||||
**Б3 — Денежный путь 15-money-path.md (+ парная правка 17:101 по N004)**
|
||||
Находки: N004, N005, N039, N040, N041, N113, N114
|
||||
**Приёмка:** N002/N003 — обе ветви `run abandon` описаны; провенанс чисел заменён с июльских на замер холодного прогона с явной датой; **N004 требует парной правки `17-seam-inbound-law.md:101` ТЕМ ЖЕ коммитом**, иначе класс E воспроизводится.
|
||||
|
||||
- `N005` блокер · `docs/architecture/15-money-path.md:35` · A-дрейф — Абзац описывает ТОЛЬКО живую ветвь `run abandon`. С пака P11 (PD-385, коммит e548e5a от 29.08) есть вторая ветвь — PHASE=settling: к ней отказ «юнит/б
|
||||
|
||||
- `N039` major · `docs/architecture/15-money-path.md:6` · B-мёртвый-указатель — Норму «чистый ФАЙЛ» ратифицировал D39.179 п.4, который сам говорит: «уточняет D39.177 §2в … Ось «зона» была НЕВЕРНА … Носитель нормы — шапка 15-money-
|
||||
**Б4 — Шапка журнала и остальной бэклог**
|
||||
Находки: N014, N015, N016, N017, N018, N019, N020, N076, N077, N078, N079, N080, N081, N082
|
||||
**Приёмка:** diff строго строк 1–18 и затронутых `| N |`; **строка 11 (лист владельца) неизменна**; N076 — исполняется ТОЛЬКО первая половина, снятие пункта с листа владельца ЗАПРЕЩЕНО; N016 — НЕ закрывать, переписать (живой остаток — цена доведённой книги); N017 — уровень ноты, не строки; N019 — писать связку $0.436110 / проекция $1.1377 / отток ≈$1.44; N020 — СУЗИТЬ строку 232, не закрывать; на каждую снятую фразу — адрес, куда уехала.
|
||||
|
||||
- `N040` major · `docs/architecture/15-money-path.md:19` · A-дрейф — Перечень движковых суб-бюджетов читается как исчерпывающий (репэйр + эскалация) и не знает третьего семейства — книго-широких бюджетов банк-ролей `gat
|
||||
|
||||
- `N041` major · `docs/architecture/15-money-path.md:21` · D-противоречие-ратифицированному — «Различение живёт в отчёте прогона и в логе» перестало быть верным 31.08. D39.181 п.2 ратифицировал закон раскрытия: «признак остановки по объёму обяз
|
||||
**Б5 — Контракт API 14**
|
||||
Находки: N035, N036, N037, N038, N109, N110, N111, N112
|
||||
**Приёмка:** N036 — команду убрать целиком (не менять «0 → 26»), хвост §7 тем же коммитом; N035 — первую половину 981 не трогать, §6в только ⚠-указателем; греп отличительных токенов снесённых абзацев в цели указателя.
|
||||
|
||||
- `N113` minor · `docs/architecture/15-money-path.md:6` · C-исполненное-как-открытое — Пак контракта 0.9.0 ЗАЛЕНДЖЕН 31.08 коммитом 0a680a3 (D39.180), файл в дереве чист, версия в нём — 0.9.0. Настоящее время «двигается прямо сейчас» лож
|
||||
|
||||
- `N114` minor · `docs/architecture/15-money-path.md:14` · A-дрейф — Из трёх опор канона, названных здесь, у двух в доке есть носители (телеметрия — леджер/status в §2, потолки — §2/§3), а у третьей — «явное согласие на
|
||||
**Б6 — Реестр загейченных триггеров 13**
|
||||
Находки: N029, N030, N031, N032, N033, N105, N106, N107
|
||||
**Приёмка:** `counts.py --lint` до/после: проблем 0, счётчик «сверено ПО СОДЕРЖИМОМУ» вырос ровно на число мигрированных, **число якорей в файле не уменьшилось**; N029 — стрелка «→ ЗАКРЫТО D39.82, см. строку 16», сводку свипа НЕ переписывать; N030 и N107 — строки 72 и 98–104 одним касанием.
|
||||
|
||||
|
||||
**Б3 — Шапка журнала и остальной PROGRESS**
|
||||
**Б7 — Шов и эмиттер 16, 17**
|
||||
Находки: N042, N043, N044, N045, N046, N047, N048, N049, N115, N116, N117
|
||||
**Приёмка:** N032 — гвоздь НЕ строить, он построен; §5–§6 дока 16 сам себя баннирует как отработанный хендофф, внешних ссылок ноль — кандидат на вынос в `archive/reports/` с указателем (решение объявить, не делать молча).
|
||||
|
||||
- `N013` major · `docs/PROGRESS.md:3` · A-дрейф — Канон уже НЕ 0.8.0: в `docs/architecture/14-api-contract/openapi.yaml` стоит 0.9.0 — минор уехал с лендингом P12 31.08, о котором сообщает ЭТА ЖЕ стро
|
||||
|
||||
- `N014` major · `docs/PROGRESS.md:3` · A-дрейф — Числа «73%» в цитируемом отчёте холодного прогона НЕТ вовсе. Отчёт даёт долю редактора с ДВУМЯ знаменателями: 49.3% от всего прогона ($0.214865 из $0.
|
||||
**Б8 — Движковые арх-доки 03, 09, 10, 12**
|
||||
Находки: N023, N024, N027, N028, N092, N093, N095, N096, N097, N098, N099, N100, N101, N102, N103, N104
|
||||
**Приёмка:** 09 §1/§2/§4 — тела под ⚠-баннерами, анти-оверфлаг: не лезть, кроме случаев, где содержимое расходится с шапкой; N063 — §8 целиком НЕ сносить.
|
||||
|
||||
- `N015` major · `docs/PROGRESS.md:3` · E-второй-носитель — Шапка объявляет себя ЕДИНСТВЕННЫМ носителем состояния очереди, но не несёт двух лендингов 31.08, которые несёт `docs/README.md`: бэкенд-пак «ДЕНЬГИ И
|
||||
|
||||
- `N016` major · `docs/PROGRESS.md:80` · C-исполненное-как-открытое — Довод «⇒ строка жива» опирается на прогоны coldrun-a/b, но 31.08 отработал НОВЫЙ холодный прогон (coldrun-v16), в котором редакторская волна гонялась
|
||||
**Б9 — Корневые и онбординг: CLAUDE.md, README, STACK, glossary, product-requirements**
|
||||
Находки: N050, N051, N052, N054, N068, N069, N070, N083, N084, N085, N086, N087, N118, N119, N120
|
||||
**Приёмка:** CLAUDE.md — правка канона владельца: каждая формулировка предъявляется владельцу до коммита; `docs/README.md:29` не трогать (см. Б0).
|
||||
|
||||
- `N017` major · `docs/PROGRESS.md:143` · A-дрейф — Гейт назначен на событие, которое УЖЕ произошло (первый холодный прогон, 31.08), и прогон показал, что назначенный замер этим путём недостижим: манифе
|
||||
|
||||
- `N018` major · `docs/PROGRESS.md:157` · A-дрейф — Файла `.bank-stop.json` больше НЕ существует: он снесён вместе с писателем и четырьмя тестами при постройке входной двери шва (D39.158) — в Go-коде дв
|
||||
**Б10 — Ранние арх-доки 01/04/06 — ТОЛЬКО баннеры, архив СНЯТ (контролёр 4.2)**
|
||||
Находки: N025, N088, N089, N090, N091, N094
|
||||
**Приёмка:** ⚠ **«или архив» СНЯТ контролёром**: ни 01, ни 04, ни 06 не кандидаты — их цитирует Go-код (`ingest.go`, `ruby.go`, `migrate.go`, `cheapgates.go`, `coverage.go`, `book.go`, `memory.go`, `memseed.go`), а 01 назначен носителем Р5/Р8 самим D-логом. Только ⚠-баннеры на месте.
|
||||
|
||||
- `N019` major · `docs/PROGRESS.md:182` · D-противоречие-ратифицированному — Дважды протухла. (1) Цифра «≈$0.05» СНЯТА ратифицированной нотой D39.179 п.1 как протухшая: пере-пин DeepSeek 15.08 даёт множитель 4.47, а замер 31.08
|
||||
|
||||
- `N020` major · `docs/PROGRESS.md:196` · C-исполненное-как-открытое — Строка 232 ЗАКРЫТА лендингом 31.08 (`bb541a8`, экземпляр A11). Читающий метод `store.AnnouncedOnceKeys()` построен, его докстринг называет строку 232
|
||||
**Б11 — ЧУЖАЯ ЗОНА: бэкенд-доки — баннеры, НЕ архив (N074 corrected)**
|
||||
Находки: N007, N008, N009, N010, N011, N012, N071, N072, N073, N074
|
||||
**Приёмка:** N074 corrected: SEAM_* НЕ переносить — `SEAM_PACK_FINDINGS.md` (носитель D39.158) ссылается на них в пяти местах; MONEY_HONESTY_REPORT §4.5 назначен носителем живого остатка строки 232 — не архивировать; лечение = датированные ⚠-баннеры. N008/N009 — часть лекарства в коде (`artifact.go`, `backup.go`, `pipeline.puml`) ⇒ ПИНГ зоне, не касание. Строка в `docs/PROGRESS.md` секции «Бэкенд» тем же коммитом.
|
||||
|
||||
- `N021` major · `docs/PROGRESS.md:202` · C-исполненное-как-открытое — Строка 240 исполнена лендингом P12 31.08 (`0a680a3`, D39.180) — обеими ветвями своей же диспозиции. Гард `LiftBankStop` СНЯТ (в `platform/` осталось д
|
||||
|
||||
- `N075` minor · `docs/PROGRESS.md:3` · B-мёртвый-указатель — Промт НЕ в `docs/archive/prompts/` — он до сих пор лежит в корне `docs/`. В архиве промтов лежат два ДРУГИХ холодно-прогонных промта (`BACKEND_COLDRUN
|
||||
**Б12 — ЧУЖАЯ ЗОНА: фронт-доки (три неприкасаемых)**
|
||||
Находки: N055, N057, N058, N059, N060, N061, N062, N063, N121, N122, N123, N124, N125, N126, N127
|
||||
**Приёмка:** ⛔ НЕ трогать: зеркало `frontend/docs/api-contract/openapi.yaml` (отставание РАТИФИЦИРОВАНО D39.142 п.5 на время фриза), `src/api/schema.ts` (генерируемый), `src/mock/handlers.ts` (код). N057 не переписывать в «закрыта»; N122 не менять пример на живой; N124/N048 — хронику зонного журнала задним числом НЕ править. Объявление = строка в `frontend/docs/frontend-PROGRESS.md` ТЕМ ЖЕ коммитом.
|
||||
|
||||
- `N076` minor · `docs/PROGRESS.md:3` · A-дрейф — Сегодня `main` опережает `origin/main` на 48 коммитов. Несущий вывод («развязки нет») выжил — `origin/main` остаётся ПРЕДКОМ `main`, расхождения по-пр
|
||||
|
||||
- `N077` minor · `docs/PROGRESS.md:3` · A-дрейф — «Пять» было верно до 31.08 (P8-FIX · P8-REVIEW · P9 · P10 · P11). После P7, где долг выдачи был отложен в P8, по реестру нот легло ШЕСТЬ P-нумерованны
|
||||
**Б13 — ЧУЖАЯ ЗОНА: платформенные доки**
|
||||
Находки: N006, N064, N065, N066, N067, N128, N129, N130
|
||||
**Приёмка:** N065 — абзац 251–253 снести, оставив ОДНУ отсылку вверх (не второй носитель); 255–258 не сносить, только зачин; N006 — формулировка «атомарно ПОФАЙЛОВО, пара не транзакционна»; N129 — координаты пере-грепнуть (6 из 7 в реестре промахиваются). Объявление = строка в `platform/docs/platform-PROGRESS.md` ТЕМ ЖЕ коммитом.
|
||||
|
||||
- `N078` minor · `docs/PROGRESS.md:15` · C-исполненное-как-открытое — Условие, по которому число обещано пере-калибровать, ИСПОЛНИЛОСЬ: платный прогон отработал 31.08 и дал собственную оценку движка $1.1377277707 на деся
|
||||
|
||||
- `N079` minor · `docs/PROGRESS.md:146` · C-исполненное-как-открытое — Гейт пал: первый холодный прогон отработал 31.08 и выдал ровно то число, на котором строка условила решение — `families_held=0` (строка требует ослабл
|
||||
## Карта ДЫР самой ревизии — записываю честно, а не молчу
|
||||
|
||||
- `N080` minor · `docs/PROGRESS.md:183` · B-мёртвый-указатель — Оба line-якоря строки 203 уехали после контрактного минора 0.9.0 (P12, `0a680a3`, 31.08). `openapi.yaml:1784-1787` сегодня показывает поля `id`/`units
|
||||
Ревизоры сами назвали, чего не проверили. План это НЕ закрывает; пункты числятся как
|
||||
«не проверено» (что не равно «опровергнуто»):
|
||||
|
||||
- `N081` minor · `docs/PROGRESS.md:193` · B-мёртвый-указатель — Якорь уехал на 28 строк после контрактного минора 0.9.0 (P12, 31.08): цитируемая фраза стоит на `:2079`, а `:2051` показывает заголовок совсем другой
|
||||
- **30 строк бэклога веса «скоро» не проверены** ни одним агентом: 2, 4, 18, 46, 109, 113, 114,
|
||||
119, 120, 121, 134, 136, 140, 142, 143, 150, 167, 172, 182, 183, 188, 191, 207, 210, 216, 219,
|
||||
224, 225, 49, 55. Плюс ~120 строк «когда-нибудь» проверены выборочно (16 из них).
|
||||
- 18 пунктов строки 243 не проверены.
|
||||
- В реестре триггеров 13 проверено 59 якорей из 100+.
|
||||
- `14-api-contract/README.md` прочитан частями; `openapi.yaml` — только грепами.
|
||||
- `SEAM_PACK_FINDINGS.md` — НЕ_УСПЕЛ. `D15.2` — сверено два якоря из десятков.
|
||||
- `FRONTEND_PLAN.md` §1–4, §5.2–5.5 не открывались.
|
||||
- **Классы, которых воркфлоу не заказывал по построению:** дубли БЕЗ расхождения · вес контекста
|
||||
в байтах на маршруте онбординга · сироты (входящие ссылки спрашивались только как гард) ·
|
||||
забаннированное историческое (анти-оверфлаг объявил его легитимным — а это самый большой класс
|
||||
кандидатов на вынос) · весь `archive/` (213 файлов) · не-`.md` носители (puml, комментарии кода
|
||||
и yaml) · зонные трекеры.
|
||||
|
||||
- `N082` minor · `docs/PROGRESS.md:207` · C-исполненное-как-открытое — Строка исполнена НАПОЛОВИНУ, и строка об этом не знает: 31.08 коммитом `94381bb` в `docs/scripts/githooks/pre-commit` добавлен warn-блок, который пере
|
||||
## Что вынесено ИЗ плана
|
||||
|
||||
**Планы доработок в бэкенд и платформу (заказ 0б)** — отдельная работа, не критерий закрытия
|
||||
техдолга доков. Носитель — CURRENT-STATE.
|
||||
|
||||
**Б4 — Контракт API 14 (README + openapi)**
|
||||
|
||||
- `N034` major · `docs/architecture/14-api-contract/README.md:8` · A-дрейф — Канон стоит на 0.9.0 с 31.08 (минор заленджен D39.180 вместе с паком P12), а ревью-шапка всё ещё называет базой 0.8.0. Верно: зеркало 0.2.3 против кан
|
||||
|
||||
- `N035` major · `docs/architecture/14-api-contract/README.md:981` · C-исполненное-как-открытое — Расхождение ЗАКРЫТО: `Resume` больше не отвечает 202 на исчерпанный прогон — вердикт `ceilingSpent` возвращает `ErrCeilingReached`, и `httpapi/v0.go:8
|
||||
|
||||
- `N036` major · `docs/architecture/14-api-contract/README.md:1637` · A-дрейф — Собственная команда дока, исполненная сегодня, даёт 26 хитов, а не ноль: платформа сжимает САМА, в Go, в `platform/internal/httpapi/conditional.go` (`
|
||||
|
||||
- `N037` major · `docs/architecture/14-api-contract/README.md:1718` · B-мёртвый-указатель — Вся колонка «Откуда взят (платформа)» Приложения А-2 съехала: реальные производители лежат на 240–270 строк ниже названных, а на названных номерах сто
|
||||
|
||||
- `N038` major · `docs/architecture/14-api-contract/openapi.yaml:1414` · E-второй-носитель — Деплой отвечает ТРЕМЯ значениями: `runStage` (platform/internal/pgstore/readmodel.go:576) выдаёт `re_pass` для всего пере-прохода, помимо `drafting`/`
|
||||
|
||||
- `N108` minor · `docs/architecture/14-api-contract/README.md:6` · B-мёртвый-указатель — D39.169 ратифицировала минор 0.8.0, а не 0.9.0; 0.9.0 принят и заленджен нотой D39.180 (31.08). Тело того же дока (строка 69) описывает 0.9.0 вовсе БЕ
|
||||
|
||||
- `N109` minor · `docs/architecture/14-api-contract/README.md:60` · B-мёртвый-указатель — Файла по этому пути нет: отчёт вынесен в архив коммитом 31b96d1 (27.08) и лежит как `docs/archive/reports/CONTRACT_MINOR_REPORT_2026-08-27.md`. Ссылка
|
||||
|
||||
- `N110` minor · `docs/architecture/14-api-contract/README.md:990` · C-исполненное-как-открытое — Носитель «вход P7» израсходован — пак P7 принят D39.153, и ⚠-абзац НАД самой таблицей это уже пишет («Носитель израсходован: пак P7 принят D39.153»).
|
||||
|
||||
- `N111` minor · `docs/architecture/14-api-contract/README.md:998` · B-мёртвый-указатель — Строки 148 в едином бэклоге НЕТ — её удалил `a023e39` решением владельца 21.08. Хуже: ТОТ ЖЕ документ на строке 1670 уже это знает и пишет «⚠ Прежний
|
||||
|
||||
- `N112` minor · `docs/architecture/14-api-contract/README.md:1002` · B-мёртвый-указатель — Промт вынесен в архив: живой путь — `docs/archive/prompts/BACKEND_SILENT_HARM_SESSION_PROMPT_2026-08-28.md`. Дополнительно: половина того, на что ссыл
|
||||
|
||||
|
||||
**Б5 — Реестр загейченных триггеров 13**
|
||||
|
||||
- `N029` major · `docs/architecture/13-tech-debt-anchors.md:52` · E-второй-носитель — Это ВТОРОЙ (и единственный не-баннированный) носитель статуса строки F4 реестра памяти, и он разошёлся с кодом: `tmctl backup` существует (cmd/tmctl/m
|
||||
|
||||
- `N030` major · `docs/architecture/13-tech-debt-anchors.md:72` · D-противоречие-ратифицированному — Обе половины ложны и противоречат ратифицированной D39.69 §3 («строки 27/84 ЗАКРЫТЫ … neuter end-to-end (enum · gender_neuter в injection-данных · See
|
||||
|
||||
- `N031` major · `docs/architecture/13-tech-debt-anchors.md:100` · C-исполненное-как-открытое — feed_cap ЗАКРЫТ ратифицированной нотой D39.69 §1 («value-порядок отреза бюджета (частота-desc — feed_cap ЗАКРЫТ этим, из строки 86 изъят)»), и код это
|
||||
|
||||
- `N032` major · `docs/architecture/13-tech-debt-anchors.md:134` · B-мёртвый-указатель — Единственная объявленная функция файла — быть справочником file:line-якорей («Этот файл — справочные file:line-якоря … Актуализируется лендингами пако
|
||||
|
||||
- `N033` major · `docs/architecture/13-tech-debt-anchors.md:180` · C-исполненное-как-открытое — Гейт по письму источника ПОСТРОЕН и стоит внутри самой lintNumberMagnitude; код называет заказ по имени в комментарии — «SOURCE-script gate (строка 79
|
||||
|
||||
- `N105` minor · `docs/architecture/13-tech-debt-anchors.md:12` · E-второй-носитель — Один и тот же якорь ja-препа живёт в двух живых носителях, и копии разошлись: строка 81 бэклога уже исправлена на «migrate.go:187/194», а справочник —
|
||||
|
||||
- `N106` minor · `docs/architecture/13-tech-debt-anchors.md:24` · B-мёртвый-указатель — Якоря реестра техдолга в ДВА дока моего среза сдвинулись ровно на +6 строк и не были актуализированы: коммит d2cd30c (22.08) дописал ⚠-поправки в 02-m
|
||||
|
||||
- `N107` minor · `docs/architecture/13-tech-debt-anchors.md:104` · E-второй-носитель — Факт про neuter лежит в этом файле ДВАЖДЫ, и копии разошлись ВНУТРИ одного документа: тело пункта (строки 70-72) несёт пере-сверку 23.08 «ЧЕТЫРЕ пункт
|
||||
|
||||
|
||||
**Б6 — Шов и эмиттер: 16, 17**
|
||||
|
||||
- `N042` major · `docs/architecture/16-events-emitter.md:11` · B-мёртвый-указатель — Якорь ведёт не туда И цель больше не существует: `docs/PROGRESS.md:149` — это строка бэклога 42, а строк 103 и 165 в таблице нет вовсе (закрыты D39.13
|
||||
|
||||
- `N043` major · `docs/architecture/16-events-emitter.md:17` · B-мёртвый-указатель — Три якоря §1 («что уже есть со стороны движка», раздел БЕЗ ⚠-баннера) уехали: `cmd/tmctl/main.go:67-70` — это константы полосы отказов (`refusalLast =
|
||||
|
||||
- `N044` major · `docs/architecture/16-events-emitter.md:38` · A-дрейф — Дословная цитата, которую док обещает в шапке («дословные цитаты — в кавычках-ёлочках»), в дереве больше не существует: `events.go:5-6` теперь читаетс
|
||||
|
||||
- `N045` major · `docs/architecture/16-events-emitter.md:66` · B-мёртвый-указатель — ВСЕ двенадцать якорей в `platform/docs/DEFECT_REGISTER.md` мертвы — ни один не попадает в свою строку. Фактические номера: PD-60→343, PD-61→344, PD-79
|
||||
|
||||
- `N046` major · `docs/architecture/17-seam-inbound-law.md:56` · B-мёртвый-указатель — Якорь родился верным и сгнил дрейфом — и уехал на строку, ВЫГЛЯДЯЩУЮ так же. На 23.08 (коммит `4f56160`, тот же, что написал якорь) `mining.go:221` бы
|
||||
|
||||
- `N047` major · `docs/architecture/17-seam-inbound-law.md:71` · C-исполненное-как-открытое — Загрузчик сида СТРОГИЙ с пака входной двери: `backend/internal/seed/decode.go` называет строку 212 своим именем и ставит `dec.KnownFields(true)` — неи
|
||||
|
||||
- `N048` major · `docs/architecture/17-seam-inbound-law.md:97` · C-исполненное-как-открытое — Первая строка таблицы «Двери, УЖЕ подразумеваемые живыми строками» описывает как ПРЕДСТОЯЩУЮ ту самую дверь, которую собственная шапка дока объявляет
|
||||
|
||||
- `N049` major · `docs/architecture/17-seam-inbound-law.md:100` · C-исполненное-как-открытое — Строка 231 закрыта паком «деньги» (D39.170, 29.08) и снята с бэклога — сам PROGRESS.md говорит это в лоб. Док цитирует её ДВАЖДЫ как живую: на строке
|
||||
|
||||
- `N115` minor · `docs/architecture/16-events-emitter.md:3` · E-второй-носитель — Движок с 31.08 (`bb541a8`) пишет `StreamVersion = "1.2"` — минор поднят под `Finished.Volume` (D39.181 п.2). 1.1 сегодня — это версия ЧИТАТЕЛЯ платфор
|
||||
|
||||
- `N116` minor · `docs/architecture/16-events-emitter.md:90` · C-исполненное-как-открытое — PD-60 (строка 88, «открыт») и PD-61 (строка 90, «открыт») оба стоят в регистре как `fixed(P6, дерево сессии)`. Шапка дока баннирует только «PD-113 отк
|
||||
|
||||
- `N117` minor · `docs/architecture/16-events-emitter.md:114` · B-мёртвый-указатель — Тела D39.119/122/123 уехали в слайс `docs/archive/architecture/05-decisions-D39-106-123.md`, где всего 210 строк — номера 394/416/428/430 там не сущес
|
||||
|
||||
|
||||
**Б7 — Движковые арх-доки: 03, 09, 10, 12**
|
||||
|
||||
- `N023` major · `docs/architecture/03-implementation-notes.md:64` · A-дрейф — Шапка строки 3 объявляет §3-контракты «живым референсом бэкенда», а формула §3.1 не совпадает с кодом ни одним полем-разделителем: реальный RequestHas
|
||||
|
||||
- `N024` major · `docs/architecture/03-implementation-notes.md:262` · D-противоречие-ратифицированному — D30 п.1 ратифицировал ПРЯМО ОБРАТНОЕ и с явным supersede: «Флип D1: редактор — БИЛИНГВАЛЬНЫЙ (черновик + исходник), новый дефолт». Реестр решений поме
|
||||
|
||||
- `N026` major · `docs/architecture/09-target-architecture.md:12` · A-дрейф — Канон стоит на 0.9.0, а не на 0.8.0: минор 0.9.0 залендён 31.08 паком платформы P12 (D39.180), и ОБА названных в этой же строке носителя показывают 0.
|
||||
|
||||
- `N027` major · `docs/architecture/10-prompt-architecture.md:51` · C-исполненное-как-открытое — Вопрос закрыт и ПОСТРОЕН: WS2 пака-11 отрендерил редакторский констрейнт-блок именно как src→dst-мэппинг, и D39.13 ратифицировал это дословно как «зак
|
||||
|
||||
- `N028` major · `docs/architecture/10-prompt-architecture.md:52` · C-исполненное-как-открытое — Q4a ИЗМЕРЕН 18.07 и ратифицирован D39.9 («верность НЕ покупается на translate-стадии»), а топологию ролей решил эксп-21 (D39.117: full-regen, починка
|
||||
|
||||
- `N092` minor · `docs/architecture/03-implementation-notes.md:212` · B-мёртвый-указатель — Ни `dc6ea8e`, ни `a32ec2e` в репозитории не существуют — `git cat-file -t` отвечает «Not a valid object name» на оба, при том что тот же вызов на реал
|
||||
|
||||
- `N093` minor · `docs/architecture/03-implementation-notes.md:267` · C-исполненное-как-открытое — Запрошенный «структурный запрет» построен и ратифицирован дважды: (1) на загрузке — `config/pipeline.go:731` отказывает конфигу, где модель провайдера
|
||||
|
||||
- `N095` minor · `docs/architecture/09-target-architecture.md:12` · A-дрейф — Механизмов, которых таблица не знает, уже не два: 31.08 (после последней правки дока) залендён пак D39.181/182 «закон раскрытия», добавивший в шов ДВА
|
||||
|
||||
- `N096` minor · `docs/architecture/09-target-architecture.md:178` · B-мёртвый-указатель — Токен `H14-inversion-guard` в ледджере, на который §3 явно ссылается заголовком раздела, не встречается ни разу: реальный идентификатор — `H14-D38.4-t
|
||||
|
||||
- `N097` minor · `docs/architecture/10-prompt-architecture.md:8` · B-мёртвый-указатель — `08-sync-audit-ledger.md` вынесен в `docs/archive/architecture/` 25.07 как отработанный (санкция владельца, `docs/archive/README.md:5`), и рядом с `09
|
||||
|
||||
- `N098` minor · `docs/architecture/10-prompt-architecture.md:17` · A-дрейф — Механизм, названный здесь как построенный, СНЯТ паком-15: пар-ключевая карта `prompts:` в конфиге сегодня не просто не используется — она отвергается
|
||||
|
||||
- `N099` minor · `docs/architecture/10-prompt-architecture.md:18` · B-мёртвый-указатель — Строка 366 живого D-лога сегодня пустая и лежит внутри эры D39.135 (приёмка фронта S4, 15.08) — то есть на 250 строк мимо цели и в чужой эре. Цитируем
|
||||
|
||||
- `N100` minor · `docs/architecture/10-prompt-architecture.md:33` · A-дрейф — Инвентарь пар-специфики в телах промтов неполон с 24.07: паком-13 в ОБА боевых промпта вписан блок «Единицы и приёмы (общие для zh→ru)» с зашитыми кит
|
||||
|
||||
- `N101` minor · `docs/architecture/10-prompt-architecture.md:41` · C-исполненное-как-открытое — exp15 как гейт ПАЛ: эксперимент исполнен и залендён 25.07 в редакции REV.2 (D39.7), потрачено $12.79. §4 п.2 того же дока это уже фиксирует («exp15 ЗА
|
||||
|
||||
- `N102` minor · `docs/architecture/12-go-style-notes.md:8` · C-исполненное-как-открытое — Норма как норма жива, но её единственный пример — мёртвый указатель, и он указывает ровно в обратную сторону. `backend/internal/pipeline/checkers_zh_r
|
||||
|
||||
- `N103` minor · `docs/architecture/12-go-style-notes.md:16` · B-мёртвый-указатель — Идентификатора `glossaryBlockHeader` в дереве нет: константа с русским заголовком жила в `internal/pipeline/memory.go:504` и удалена тем же паком-14 (
|
||||
|
||||
- `N104` minor · `docs/architecture/12-go-style-notes.md:17` · A-дрейф — Фактический хвост нормы («в код … не возвращаются») сегодня ложен: в НЕтестовом Go живут 8 упоминаний, все в комментариях — `cmd/tmctl/main.go:313`, `
|
||||
|
||||
|
||||
**Б8 — Корневые и онбординг: CLAUDE.md, README, STACK, glossary, product-requirements**
|
||||
|
||||
- `N022` major · `docs/README.md:13` · A-дрейф — Канон контракта уехал до 0.9.0 (заленджен 31.08, D39.180), а зонная копия стоит на 0.2.3 от 15.08 — 2999 строк против 1444. «Байт-зеркало» сегодня ЛОЖ
|
||||
|
||||
- `N050` major · `docs/glossary.md:11` · C-исполненное-как-открытое — P12 принят и залёнджен 31.08 нотой D39.180 (коммит 0a680a3), обязательство D39.158 закрыто целиком, регистр: major 2 против 7. Глоссарий лежит в онбор
|
||||
|
||||
- `N051` major · `docs/glossary.md:22` · E-второй-носитель — В START_PROMT.MD есть секция V6 от 18.08.2026 (идея переделки архитектуры пайплайна), разобранная в реестр 23.08 строками ПТ-37..ПТ-43. Парный носител
|
||||
|
||||
- `N052` major · `docs/product-requirements.md:32` · E-второй-носитель — Число — июльские деньги ДО пере-пина цен DeepSeek 13–15.08. Два других живых носителя того же числа несут ⚠-оговорку про множитель ×4.2–4.4 (STACK.md)
|
||||
|
||||
- `N053` major · `docs/product-requirements.md:56` · A-дрейф — P12 залёнджен 31.08 (0a680a3) вместе с минором, канон в дереве стоит на 0.9.0. Верно: канон 0.9.0 с 31.08 (D39.180), зеркало фронта отстаёт уже на СЕМ
|
||||
|
||||
- `N054` major · `docs/product-requirements.md:63` · D-противоречие-ратифицированному — D39.147 (слово владельца 17.08) АМЕНДИРОВАЛ условие разморозки: «лендинг P7 зону БОЛЬШЕ НЕ размораживает», S5-промт не выдаётся, разморозка — отдельны
|
||||
|
||||
- `N068` minor · `CLAUDE.md:8` · B-мёртвый-указатель — Путь написан от `docs/`, а файл — корневой: от корня репозитория `architecture/09-target-architecture.md` не существует; реальный путь — `docs/archite
|
||||
|
||||
- `N069` minor · `CLAUDE.md:21` · B-мёртвый-указатель — Второй уцелевший docs-относительный путь, битый ДВАЖДЫ: нет префикса `docs/` И нет расширения `.md`. Реальный носитель — `docs/architecture/12-go-styl
|
||||
|
||||
- `N070` minor · `CLAUDE.md:93` · A-дрейф — Число родилось верным и сгнило дрейфом. На 24.08 (ff03dca — коммит, вписавший фразу) голова, как её определяет титул D-лога («голова D39.124+ (подрезк
|
||||
|
||||
- `N083` minor · `docs/README.md:20` · A-дрейф — Половина фразы верна, половина протухла. `--check` действительно гейчен составом коммита (`docs/scripts/githooks/pre-commit:74`). `--lint` НЕ гейчен н
|
||||
|
||||
- `N084` minor · `docs/README.md:31` · A-дрейф — Правило не исполнено ровно для одного файла — и это тот файл, который холодная бэкенд-сессия увидит первым в `ls docs/`. `BACKEND_COLDRUN_V16_SESSION_
|
||||
|
||||
- `N085` minor · `docs/STACK.md:7` · B-мёртвый-указатель — Блок стадии draft лежит на строках 60–84 (`stages:` — 59, `- name: draft` — 60, следующая стадия `- name: edit` — 85). На заявленных 36–60 сегодня бло
|
||||
|
||||
- `N086` minor · `docs/STACK.md:15` · B-мёртвый-указатель — Блок `escalation` лежит на строках 142–159 (`escalation:` — 142, `chains:` — 143, `default:` — 153, `adult:` — 154, `budget_usd: 0` — 159). На заявлен
|
||||
|
||||
- `N087` minor · `docs/STACK.md:16` · B-мёртвый-указатель — Указатель РОДИЛСЯ ВЕРНЫМ 09.08 (085dbb9): строка 6 `docs/PROGRESS.md` тогда читалась «**Открыто на владельце:** прогон Sol-пакетов руками (150) · кред
|
||||
|
||||
- `N118` minor · `docs/glossary.md:7` · B-мёртвый-указатель — В файле docs/ORCHESTRATOR_SESSION_PROMPT.md (240 строк) символа «№» нет НИ РАЗУ: его шапка намеренно номер не держит — «Счётчик ролей ОДИН, номер выда
|
||||
|
||||
- `N119` minor · `docs/product-requirements.md:50` · B-мёртвый-указатель — Сам факт ЖИВ (проверено кодом, см. positive_control), но указатель «очередь №20» умер дважды: роль передана №20→№21 (D39.177, 31.08) и №21→№22 (D39.18
|
||||
|
||||
- `N120` minor · `docs/product-requirements.md:57` · B-мёртвый-указатель — Якорь РОДИЛСЯ верным 02.08 (fbefe33: тогда 89-93 были ровно комментарием «the --pairs column aligned byte-for-byte to how the edit wave concatenated t
|
||||
|
||||
|
||||
**Б9 — Ранние арх-доки 01/04/06 — баннеры или архив**
|
||||
|
||||
- `N025` major · `docs/architecture/06-memory-risk-registry.md:81` · B-мёртвый-указатель — Колонка «Где в коде/схеме» реестра указывает шесть file:line-якорей, и пять из шести уехали: реальные адреса — MessagesWithInjection render.go:246 (а
|
||||
|
||||
- `N088` minor · `docs/architecture/01-decisions.md:19` · A-дрейф — Каталога `pkg/` в бэкенде нет вовсе; план исполнен под `internal/`: internal/llm, internal/ledger, internal/obs, internal/store. Имена совпали, префик
|
||||
|
||||
- `N089` minor · `docs/architecture/01-decisions.md:39` · A-дрейф — FTS5 в движке нет НИ на горячем, ни на холодном пути: во всём backend/ ноль виртуальных таблиц и единственное упоминание FTS5 — отрицание в комментари
|
||||
|
||||
- `N090` minor · `docs/architecture/01-decisions.md:55` · B-мёртвый-указатель — Обоих коммитов в истории репозитория НЕ существует (`git cat-file -t c7f8a95` → «Not a valid object name»). Реальные коммиты того же дня и того же сод
|
||||
|
||||
- `N091` minor · `docs/architecture/01-decisions.md:93` · A-дрейф — Отдельного файла БД под банк памяти НЕТ и не было построено: у книги ровно ОДНА база `<book_id>.db` (config/book.go:189), и банк памяти живёт в ней же
|
||||
|
||||
- `N094` minor · `docs/architecture/04-unhappy-paths.md:120` · C-исполненное-как-открытое — Паспорт качества главы ПОСТРОЕН и отдаётся `tmctl status`: тип `pipeline.ChapterPassport` (internal/pipeline/status.go:157-159, «the per-chapter quali
|
||||
|
||||
|
||||
**Б10 — ЧУЖАЯ ЗОНА (санкция владельца 01.09): бэкенд-доки**
|
||||
|
||||
- `N007` major · `backend/README.md:11` · A-дрейф — Перечень команд читается исчерпывающим и отстал на ТРИ верба из одиннадцати: `backup`, `seed-lint`, `bank-apply`. `bank-apply` — это ратифицированная
|
||||
|
||||
- `N008` major · `backend/README.md:24` · A-дрейф — Машинной стоп-таблицы (`.bank-stop.json`) в движке НЕТ — её снёс пак «входная дверь шва» (d1eb8a9, ратифицирован D39.158); уцелевшая `.bank-stop.txt`
|
||||
|
||||
- `N009` major · `backend/README.md:82` · D-противоречие-ратифицированному — От `$HOME` НЕ дефолтится НИЧЕГО. `internal/standdata` резолвит корпус ТОЛЬКО от корня репозитория (`<repo>/books`), и его собственная шапка говорит пр
|
||||
|
||||
- `N010` major · `backend/README.md:99` · C-исполненное-как-открытое — Долг ПОГАШЕН и это записано в двух носителях. Код по обоим якорям сегодня говорит обратное README: repair.go:131 — «The boundary is the TARGET's decla
|
||||
|
||||
- `N011` major · `backend/README.md:101` · B-мёртвый-указатель — Строка 53 в едином трекере не существует: она закрыта D39.82 (носитель этого сказан в самой таблице — строка 111: «D39.82 закрыл строку 53 через `putU
|
||||
|
||||
- `N012` major · `backend/docs/D15.2-content-addressed-resume-spec.md:529` · A-дрейф — Голова схемы сегодня v16, а не v7, и номер v8 давно занят чужой миграцией. Спека при этом ЖИВА: строка бэклога 49 («Этапы Б+В спеки D15.2») открыта, и
|
||||
|
||||
- `N071` minor · `backend/README.md:20` · B-мёртвый-указатель — Экспортированной `chunk.Ingest` не существует — в пакете живёт неэкспортированная `ingest(p string)`, обёртка над `IngestEncoded`. Родилась ошибка в Т
|
||||
|
||||
- `N072` minor · `backend/README.md:94` · B-мёртвый-указатель — README объявляет, что все его «строка N» разрешаются в таблицу «Бэклог», и цитирует тринадцать номеров. Семь из них в таблице отсутствуют — закрыты и
|
||||
|
||||
- `N073` minor · `backend/docs/MONEY_HONESTY_REPORT.md:787` · C-исполненное-как-открытое — Заленджено — коммитом bb541a8 (31.08) и принято нотой D39.182. Фраза стоит в секции, которая сама называет себя «§11. Последний абзац — СОСТОЯНИЕ, не
|
||||
|
||||
- `N074` minor · `backend/docs/SEAM_FIX3_PLAN.md:1` · F-целиком-историческое — Четыре записки-плана паков шва — чистые списки намерений отработавших сессий. Паки приняты и заленджены (D39.158: «Четыре пака зоны бэкенда приняты и
|
||||
|
||||
|
||||
**Б11 — ЧУЖАЯ ЗОНА (санкция владельца 01.09): фронт-доки**
|
||||
|
||||
- `N055` major · `frontend/README.md:7` · A-дрейф — S4 исполнен 14.08 и ПРИНЯТ 15.08 (D39.135, `267aa35`): библиотека, интейк, форма запуска прогона, настройки, читалка — построенные экраны. Перечислени
|
||||
|
||||
- `N056` major · `frontend/README.md:66` · D-противоречие-ратифицированному — Зеркало НЕ байт-равно: 0.2.3/16 операций против канона 0.9.0/20 операций, разные md5. И правило «зеркало = байт-копия» ратифицированно ПРИОСТАНОВЛЕНО
|
||||
|
||||
- `N057` major · `frontend/docs/BACKLOG.md:50` · D-противоречие-ратифицированному — D39.144 (16.08) снял гейт полноты. Канон: `awaiting_bank` с ЛЮБЫМ состоянием решений → 202. Якорь `mining.go:201` тоже уехал: там сегодня стоит прямая
|
||||
|
||||
- `N058` major · `frontend/docs/BACKLOG.md:51` · B-мёртвый-указатель — В каноне 0.9.0 нет ни схемы `BankDecision`, ни значения `promote`, ни пути `POST …/bank/decisions`, ни «частичного накопления»: канон 0.5.0 снёс их и
|
||||
|
||||
- `N059` major · `frontend/docs/BACKLOG.md:62` · C-исполненное-как-открытое — Канон 0.9.0 перевесил поток на КНИГУ: `GET /books/{bookId}/events`, и его описание прямо называет причину — «a book is received and cut into chapters
|
||||
|
||||
- `N060` major · `frontend/docs/BACKLOG.md:63` · C-исполненное-как-открытое — Ручка построена: канон 0.9.0 даёт `GET /capabilities` с обязательным `language_pairs` («Every pair the deployment knows about, unavailable ones includ
|
||||
|
||||
- `N061` major · `frontend/docs/BACKLOG.md:68` · C-исполненное-как-открытое — Канон 0.9.0 несёт и `PATCH /books/{bookId}` (merge patch, только `title`, 409 при живом прогоне), и `DELETE /books/{bookId}` (204, 409 при живом прого
|
||||
|
||||
- `N062` major · `frontend/docs/FRONTEND_PLAN.md:692` · D-противоречие-ратифицированному — Ратифицированный канон 0.9.0 кладёт на провод ОДНУ пару {done,total}, считаемую в ГЛАВАХ по всем проходам, плюс открытую строку `stage`. Клиент, напис
|
||||
|
||||
- `N063` major · `frontend/docs/STACK_DECISIONS.md:245` · C-исполненное-как-открытое — Все ЧЕТЫРЕ пункта («пофазный прогресс», «персист манифеста глав и чанков», «JSON-выход таблицы подписи банка», «приём внешнего TRACEPARENT в cmd/tmctl
|
||||
|
||||
- `N121` minor · `frontend/README.md:21` · A-дрейф — Маршрутов ВОСЕМЬ: S4 завела `/intake`, и он есть в обоих замкнутых тестом списках. Приёмка S4 в том же дереве печатает «8 маршрутов, 11 сценариев».
|
||||
|
||||
- `N122` minor · `frontend/docs/BACKLOG.md:3` · B-мёртвый-указатель — Строк 99–102 в живом `docs/PROGRESS.md` больше нет — все четыре закрыты и по норме журнала («закрытые строки здесь НЕ хранятся») ушли в D-лог. Шапка у
|
||||
|
||||
- `N123` minor · `frontend/docs/BACKLOG.md:23` · B-мёртвый-указатель — Токена `--color-hint` в зоне больше нет вовсе — ни в `tokens.css`, ни в тестах, ни в коде; строка держит хвост на несуществующем токене. Вторая полови
|
||||
|
||||
- `N124` minor · `frontend/docs/FRONTEND_SESSION_PROMPT.md:2` · B-мёртвый-указатель — `S3_SESSION_PROMPT.md` в зоне не существует: промты S3/S3.5/S3.7 архивированы 14.08 в `docs/archive/prompts/FRONTEND_S3*`, зонные копии сняты. Довод б
|
||||
|
||||
- `N125` minor · `frontend/docs/STACK_DECISIONS.md:111` · B-мёртвый-указатель — Зона зависит от пакета `playwright` 1.62.1, а не от `@playwright/test`: последнего нет ни в `package.json`, ни в дереве `node_modules`. Сессия, постав
|
||||
|
||||
- `N126` minor · `frontend/docs/STACK_DECISIONS.md:116` · E-второй-носитель — Шагов у `check` шесть, и spectral — ЧЕТВЁРТЫЙ. Тот же файл на строке 148 уже утверждает «шесть шагов», то есть носитель противоречит сам себе; вторая
|
||||
|
||||
- `N127` minor · `frontend/docs/frontend-PROGRESS.md:221` · C-исполненное-как-открытое — Приёмка S4 состоялась 15.08 и записана В ЭТОМ ЖЕ ФАЙЛЕ строкой 465 («ПРИНЯТО и залендено `267aa35`, D39.135»). Два места одного файла говорят разное.
|
||||
|
||||
|
||||
**Б12 — ЧУЖАЯ ЗОНА (санкция владельца 01.09): платформенные доки**
|
||||
|
||||
- `N006` блокер · `platform/docs/STACK_DECISIONS.md:414` · D-противоречие-ратифицированному — Строка (и парная ей 415 про `mined_rejects`) неверна в четырёх местах сразу. (1) `mined_delta` БОЛЬШЕ НЕ «путь из book.yaml»: ключ РЕТИРОВАН — `Retire
|
||||
|
||||
- `N064` major · `platform/README.md:10` · A-дрейф — Перечень устарел с лендингом пака sqlc 29.08: `check: build vet fmt lint sqlc-check` — пятый шаг `sqlc-check` в списке отсутствует. Хуже перечня — умо
|
||||
|
||||
- `N065` major · `platform/deploy/README.md:252` · C-исполненное-как-открытое — Глагол `tmctl migrate` существует и заленджен (`backend/cmd/tmctl/migrate.go`, в диспетчере `main.go:184/:245`, свой код выхода `exitSchemaMismatch =
|
||||
|
||||
- `N066` major · `platform/docs/PLATFORM_DIRECTION.md:159` · C-исполненное-как-открытое — sqlc ВЗЯТ и заленджен 29.08 (`D39.172`: «Пак `sqlc` принят и заленджен: 40 запросов пяти файлов `pgstore` на типизированный слой, пин 1.31.1, `sqlc di
|
||||
|
||||
- `N067` major · `platform/docs/STACK_DECISIONS.md:621` · B-мёртвый-указатель — Лечебная команда «самой частой грабли стенда» указывает на путь, которого не существует: `tm-runs.slice` по конвенции имён systemd вложен в `tm.slice`
|
||||
|
||||
- `N128` minor · `platform/deploy/README.md:428` · C-исполненное-как-открытое — Воркер существует с пака P4: прогон спавнится в `internal/runs/spawn.go`, который задаёт `Workdir: l.Workdir` транзиентному юниту, а корень УЖЕ настро
|
||||
|
||||
- `N129` minor · `platform/docs/PLATFORM_DIRECTION.md:101` · B-мёртвый-указатель — Указатели на строки единого бэклога, розданные по всему срезу, в шести случаях целят в строки, которых в живой таблице БОЛЬШЕ НЕТ: правило бэклога — «
|
||||
|
||||
- `N130` minor · `platform/docs/STACK_DECISIONS.md:566` · E-второй-носитель — Перечень админ-команд отстал от CLI на семь глаголов. В диспетчере `cmd/tmplatformctl/main.go` сегодня: grant · adjust · balance · logins · revoke · b
|
||||
|
||||
|
||||
## Сверх находок — работы заказа, которых в реестре нет
|
||||
|
||||
Реестр отвечает на «что протухло». Заказ владельца шире, и эти пункты в него не попали:
|
||||
|
||||
- **Б13. Архивация отработавшего (0в).** Промт `BACKEND_COLDRUN_V16_SESSION_PROMPT.md` лежит в
|
||||
живом `docs/`, при этом ДВА носителя (таблица `README.md` и CURRENT-STATE) уже утверждают, что
|
||||
он в `archive/prompts/`. Плюс исполненные план-доки зон: `backend/docs/SEAM_*`,
|
||||
`MONEY_HONESTY_*`, `platform/docs/p8-review/`, `platform/docs/p9/`.
|
||||
- **Б14. Планы доработок в бэкенд и платформу (0б).** По остатку единого бэклога (189 строк,
|
||||
59 «скоро») и регистра платформы (435 строк, 97 открытых, major 2).
|
||||
- **Б15. Хвост лендинга ресёрча.** Очередь п.5 велит новой смене лендить файл, лендинг которого
|
||||
владелец 01.09 откатил (`162ab9b`). Пока формулировка стоит, следующая смена повторит откат.
|
||||
**Формулировку задаёт владелец — сам не переписываю.**
|
||||
**Хвост лендинга ресёрча.** Очередь п.5 велит новой смене лендить файл, лендинг которого владелец
|
||||
01.09 откатил (`162ab9b`). Пока формулировка стоит, следующая смена повторит откат.
|
||||
**Формулировку задаёт владелец — сам не переписываю.**
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue