WEB-20 · Задача · Граф · web
[IOS-133] NER coverage planner: окна с offsets+coverage% в диагностику, degrade к start/middle/end
Закрыт
P1 · важно
ведёт: backup-opus
Суть
1. Суть одной фразой: Диагностика NER в проде (IOS-133).
2. Где мы сейчас (13.09.2026): тело карточки пустое, коммитов нет; NER-in-prod = трата владельца (memory nc-graph-truth-epic); canary по runbook nc-ner-canary-runbook ни разу не запускался.
3. Хронология: создана под эпик NER; активности нет; 05.09 boardtriage → parked.
4. Карта документов и кода: runbook nc-ner-canary-runbook; memory nc-graph-truth-epic.
5. Остаток: владелец — решить, включать ли NER в проде и тратить ли на это (canary); волна — после GO выполнить canary по runbook.
6. Критерий закрытия: canary-прогон с цифрами, либо решение владельца не включать NER.
---
## история (тело до 13.09.2026)
## 23.08 board-triage (волна btriage, отчёт BOARD-TRIAGE-REPORT.md на A1; применено координатором)
Запарковано как STALE: body/evidence пусты, старый build без patch/run/proof; комментарий «принимать НЕЧЕГО». Актуальный NER-скоуп заводить свежим тикетом.
## 2026-08-23 11:20 UTC — разбор парковки (по запросу owner): почему здесь и что известно
Линия: NER-диагностика из iOS-эпика IOS-133 (планировщик окон/форензика кэпов/type-recall/RAG-evaluator). Припарковано: NER-в-проде = owner-spend (память nc-graph-truth-epic), канарейка по ранбуку nc-ner-canary-runbook не запущена в прод-цикл. Брать только вместе с решением owner о NER-запуске; сами по себе не пустышки — это спецификации диагностики, тело = заголовок+спека в реестре IOS-133.
Починено в
v4-3bef42f
Лента
2026-08-11T16:26:12.569Z · backup-opus-board-sweepМойка 11.08, остаётся review, но принимать НЕЧЕГО: тело тикета пустое, сдачи/комментов нет, в git-истории (git log --all --grep) коммитов с этим ID не найдено. Чек-лист для приёмки: (1) ссылка на патч/отчёт/коммит сдачи; (2) прогон диагностики через admin/ner-canary (нужна авторизованная JWE-сессия @auth/core + caps-env + age-claim — см. runbook); (3) явные ожидания выхода: окна с offsets + coverage%% в диагностике, degrade к start/middle/end. Если к следующей мойке артефактов не появится — возврат в todo.
2026-09-10T18:55:03.579Z · coordinatorBOARD-WASH-20260910:WAVE-3335
По поручению владельца 18:43Z назначена исполнительская волна 3335 (index), Codex gpt-5.6-luna xhigh, A1. Полная история карточки и база l115c 1ad52e16b доставлены, brief-guard и проверка Git-базы пройдены. Задача: проверить существующую сдачу, устранить остатки, передать бандл и доказательства. Финальная приёмка и посадка остаются за координатором. Ранее отложенная функция не включается; статус parked/backlog сохранён, идёт проверка технического остатка.
КАРТА ДОКУМЕНТОВ: ноут /Users/annakorin/nc-ops-scripts/board-wash-20260910/3335-wash-index-brief.md; A1 /home/wave/waves/inputs/board-wash-20260910/index-tickets.json; ожидаемый отчёт /home/wave/waves/3335WASHINDEX-REPORT.md. Правила обогащения: WEB-449.
2026-09-13T11:01:35.745Z · coordinator[13.09 11:01Z координатор] Мойка отложенных, волна 3668. Вердикт: ЖДЁТ-ВЛАДЕЛЬЦА. Пустое тело, нет коммитов; NER-in-prod = трата владельца; canary не запускался.
2026-09-22T18:28:17.688Z · triage-m1РЕШЕНИЕ=parked
ОСНОВАНИЕ=2026-09-22 проверка: волна 3668 (13.09) — ЖДЁТ-ВЛАДЕЛЬЦА; посадка не подтверждена (body: коммитов нет; v4-3bef42 — исторический buildFixed).
ЧТО НУЖНО=разбудить когда владелец решит включать NER в проде; после GO выполнить canary по nc-ner-canary-runbook с цифрами.
triage-m1 4614
2026-09-22T18:47:23.627Z · coordinator[22.09 18:47Z координатор] ## Решение владельца 22.09 18:46Z
РЕШЕНИЕ=parked → готовится ЗАПУСК канарейки NER по runbook (владелец: «по НЕР канарейку»), а не закрытие. Следующий шаг: волна с планом/стоимостью канарейки, запуск с цифрами, затем решение по каждому из 20/23/25/26.
2026-09-22T19:03:44.253Z · coordinator[22.09 19:03Z координатор] ## 4621 (A1, план канарейки NER по коду l115q; NO-GO формально — скомпилированный релиз недоступен wave-uid, но исходник as-built прочитан; 5/5)
- Маршрут `POST /api/admin/ner-canary` жив; гейты: caps-env (`assertLowCanaryCaps` читает ТОЛЬКО env процесса; SystemSetting перебивает env для самого NER, но не для гейта),
JWE-сессия QA (`qa-postqa-001@wool2.online`, cookie `__Secure-authjs.session-token`, `requireAdmin()` требует userId+userEmail в сессии), age-claims в токене.
- Стоимость: nano `$0.20/1M` вход, `$1.25/1M` выход; 6 окон × 1700/1400 токенов ≈ `$0.0038`/документ, три книги ≈ `$0.011`.
- Процедура (координатор root): снимок SystemSetting/env → временные капы (env + SystemSetting, резервы) → перезапуск обеих копий → минт токена (шаблон в сдаче) →
запрос → проверка `DocumentEntity` + журнал → откат + перезапуск. Риски: перезапуск копий, глобальный потолок бюджета NER на время прогона, QA-источники видны в QA-тетради.
- Решение координатора: совместить с посадкой l115r (перезапуск и так будет); владельцу предложено. Сдача: `a1:~/waves/4621NERCANARYRUNBOOKADAPTL115Q-evidence/` (`runbook-l115q.md`, `cost.md`, `principal.md`, `mint-script.template.mjs`).
2026-09-22T23:13:30.454Z · coordinator[22.09 23:13Z координатор] ## 22.09 23:12Z — данные канарейки NER на l115r (см. WEB-23): покрытие 6 окон = 16,8 % текста, bands beginning 3,0 % / middle 3,5 % / end 2,2 % уникальных слов; entityCoverage 3,7 %. Вход для планировщика окон.
2026-09-23T12:50:48.914Z · triage-neoРЕШЕНИЕ=in_progress
ОСНОВАНИЕ=2026-09-22, волна 4621: канарейка NER на l115r прошла, 6/6 окон и coverage 16,8%; линия l115r, свежая работа есть.
ЧТО НУЖНО=сопоставить 6 окон и 16,8% coverage с ожидаемыми beginning/middle/end для planner; triage-neo 4713
2026-09-23T16:42:22.039Z · coordinator[23.09 16:42Z координатор] ## 4768 (M1, Luna) — в работе: планировщик окон с offsets/coverage%/band и явной деградацией к start/middle/end (WEB-20) + per-window forensics отбраковки и единый потолок сущностей вместо «cap 40 vs maxEntitiesPerSource 60» (WEB-23); тесты на числах канарейки 4621 (6 окон, 16,8 %, 53/40).
2026-09-23T17:05:06.615Z · coordinator[23.09 17:05Z координатор] ## 4768 (M1, Luna) — GO: диагностика NER на каждое окно — `offsetStart/offsetEnd/chars/coveragePct/band` + per-window forensics `candidates/accepted/rejected` с причинами (dedupe/typeFilter/confidence/cap); при нехватке бюджета — явная деградация к start/middle/end (`degradedTo=bands`); единый источник правды потолка — `DOC_NER_MAX_ENTITIES_PER_SOURCE` (диагностика печатает `capSource/capValue/truncatedBy`); «cap 40» из канарейки — показание прибора/тестовый override, литерала 40 в коде NER нет. Тесты на числах канарейки 4621 (214 632 знака, 6 окон = 16,8 %, 53 при cap 40 → rejected.cap=13) 3/3; область 94/94; typecheck 0. Патчи (2) наложены на A2, ветка `l115s-web20-web23-ner-diag`. Статус → в ревью; в сводное дерево после ревью.
2026-09-25T08:42:06.378Z · coordinator[25.09 08:42Z координатор] # Ready board comment — WEB-20
2026-09-25 — POST-QA all9 `879094713e`: **CLOSE**.
NER coverage planner реализован: exact offsets/bands и coverage diagnostics в `src/lib/intelligence/__tests__/entityExtraction.test.ts:105`; deterministic start/middle/end degradation в `src/lib/intelligence/autoTagService.ts:528`. Коммит `86502b521`; независимый compliant-runner report: NER suite 56/56 pass. В текущем checkout Vitest include ограничен settings component tests, поэтому локальная команда из `tests.md` RC=1/0 collected.
Старая карточка была parked из-за отсутствия owner canary; canary/решение владельца — отдельный live residue и не выполнялись. Новый агент начинает с WEB-449 → этот файл → planner/fallback/tests; бой и секреты не трогать.
Проверка координатора (09:5xZ, all9 879094713e, M1): перезапуск тестов 4982 правильным раннером (node --import tsx --test, Node 22): тесты тикета на all9 зелёные (4982 гонял vitest, который их не собирает). CLOSE подтверждён.
Воркер
не проверен
3335-wash-index
A1
движение в панели: неизвестно
Подключиться и смотреть/перехватить руками. Колесо мыши листает; клавишами — Ctrl-b затем [, выход из прокрутки q. Отсоединиться — Ctrl-b затем d:
Прочитать историю панели без подключения — листается и ищется (/ поиск, q выход), воркеру не помешает:
Обновлён
2026-09-25T08:42:42.195Z