WEB-25 · Задача · Граф · web
[IOS-133] NER type-recall: organization/event путь с per-type диагностикой
Закрыт
P1 · важно
ведёт: backup-opus
Суть
1. Суть одной фразой: Диагностика NER в проде (IOS-133) — то же, что WEB-20.
2. Где мы сейчас (13.09.2026): тело пустое, коммитов нет; canary не запускался; NER = трата владельца.
3. Хронология: как WEB-20; 05.09 boardtriage → parked.
4. Карта документов и кода: runbook nc-ner-canary-runbook; memory nc-graph-truth-epic.
5. Остаток: владелец — решение по NER в проде; волна — canary после GO.
6. Критерий закрытия: canary-прогон с цифрами либо решение владельца.
---
## история (тело до 13.09.2026)
## 23.08 board-triage (волна btriage, отчёт BOARD-TRIAGE-REPORT.md на A1; применено координатором)
Запарковано как STALE: body/evidence пусты; per-type диагностики нет. Новый тикет при возврате к NER type-recall.
## 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-1de5097
Лента
2026-08-11T16:26:13.273Z · 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) явные ожидания выхода: per-type диагностика organization/event recall. Если к следующей мойке артефактов не появится — возврат в todo.
2026-09-10T18:55:03.584Z · 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.755Z · coordinator[13.09 11:01Z координатор] Мойка отложенных, волна 3668. Вердикт: ЖДЁТ-ВЛАДЕЛЬЦА. Тот же корень, что WEB-20: пустое тело, canary не запускался.
2026-09-22T18:28:17.790Z · triage-m1РЕШЕНИЕ=parked
ОСНОВАНИЕ=2026-09-22 проверка: волна 3668 (13.09) — ЖДЁТ-ВЛАДЕЛЬЦА; посадка не подтверждена (body: коммитов нет; v4-1de5097 — исторический buildFixed).
ЧТО НУЖНО=разбудить когда владелец решит включать NER в проде; после GO выполнить canary по nc-ner-canary-runbook с цифрами per-type для organization/event recall.
triage-m1 4614
2026-09-22T18:47:25.749Z · coordinator[22.09 18:47Z координатор] ## Решение владельца 22.09 18:46Z
РЕШЕНИЕ=parked → готовится ЗАПУСК канарейки NER по runbook (владелец: «по НЕР канарейку»), а не закрытие. Следующий шаг: волна с планом/стоимостью канарейки, запуск с цифрами, затем решение по каждому из 20/23/25/26.
2026-09-22T23:13:31.415Z · coordinator[22.09 23:13Z координатор] ## 22.09 23:12Z — канарейка NER l115r (см. WEB-23): per-type — event extracted 4 / verified 0 / final 0 (все срезаны salience), concept 20/1/1, organization 3/2/2, place 9/2/6 (+6 supplemental), person 58/49/41. Вход для per-type порогов.
2026-09-23T12:50:49.952Z · triage-neoРЕШЕНИЕ=in_progress
ОСНОВАНИЕ=2026-09-22, волна 4621: канарейка NER на l115r дала event 4/0/0 и concept 20/1/1 из-за salience; свежий прогон есть.
ЧТО НУЖНО=разобрать salience-срез event/concept и определить per-type acceptance для recall; triage-neo 4713
2026-09-23T17:05:56.436Z · coordinator[23.09 17:05Z координатор] ## 4773 (M1, Luna) — в работе: per-type диагностика NER (candidates/accepted/rejected + salience-значения по типам), per-type acceptance-политика как конфиг с умолчанием = текущее поведение, recall-проба на данных канарейки (event 4/0/0 → 4/4 при per-type пороге).
2026-09-23T17:26:48.318Z · coordinator[23.09 17:26Z координатор] ## 4773 (M1, Luna) — GO: per-type диагностика NER (person/organization/place/product/event/concept/other) с `candidates/accepted/rejected` и значениями salience у отброшенных; salience-срез найден в `src/lib/intelligence/entityExtraction.ts:1093`; per-type политика — конфиг `DOC_NER_TYPE_ACCEPTANCE_POLICY` (умолчание = текущее поведение, ничего в проде не меняется); recall-проба на данных канарейки: event 4/4 принимаются при per-type пороге, person/place без изменений; тесты 4/4, область 119/119, typecheck 0. Патчи 0003–0005 наложены на A2 `l115s-web20-web23-ner-diag`. Статус → в ревью (вместе с WEB-20/23 в 4781). Решение о включении per-type порогов — за владельцем по цифрам следующей канарейки.
2026-09-23T17:44:33.470Z · coordinator[23.09 17:44Z координатор] ## 4781 (M1, независимое ревью) — NER-диагностика (4768/4773): **NO-GO**, существенное: coverage считается по знакам (`entityExtraction.ts:248-267` vs `entityCoverage.ts:122-174`), а канарейка ожидает метрику по уникальным словам (bands 3,0/3,5/2,2 %); детерминизм извлечения подтверждён (ДА). Репродуктор `0001-web25-coverage-metric-reproducer.patch`. → раунд 2 (4787): coverage по уникальным словам как в канарейке, знаки — отдельным полем.
2026-09-23T17:59:14.542Z · coordinator[23.09 17:59Z координатор] ## 4787 (M1, Luna, раунд 2) — GO: две честные метрики `coverageCharsPct` и `coverageUniqueWordsPct` (токенайзер Unicode word-run, NFKC, lower), bands — по уникальным словам как в канарейке; репродуктор 4781 красный до / зелёный после; область 100/100; typecheck 0. Патчи 0006/0007 наложены на A2 `l115s-web20-web23-ner-diag` (7 коммитов). Набор WEB-20/23/25 → в ревью (следующее ревью NER).
2026-09-23T20:04:23.060Z · coordinator[23.09 20:04Z координатор] ## СОСТОЯНИЕ НА 23.09 20:2xZ (для нулевого агента)
- Что это: NER (сущности/места) — диагностика WEB-20/23 + покрытие. Код: A2 `l115s-web20-web23-ner-diag` = 3b9686a13 (7 коммитов: 4768 + 4773 + coverage р2 4787 GO после ревью 4781 «coverage по знакам вместо слов»), в all8. Канарейка NER на l115r прошла 22.09 (53 сущности / 6 мест); QA-кошелёк блокирует doc_ner (-0,69, funded=never) — отдельная забота владельца.
2026-09-25T08:42:08.185Z · coordinator[25.09 08:42Z координатор] # Ready board comment — WEB-25
2026-09-25 — POST-QA all9 `879094713e`: **CLOSE**.
Organization/event type-recall diagnostics теперь разделены по типам: policy в `src/lib/intelligence/entityExtraction.ts:1122+`, merge в `src/lib/intelligence/autoTagService.ts:613`, metadata в `src/lib/intelligence/sourceEntityMetadata.ts:389`, отдельно назван coverage metric в `entityExtraction.ts:137`. Коммиты `03978d71a`, `b09e62448`, `b0a73441d`; tests `nerTypeAcceptance.test.ts:16+` и `web25-coverage-metric.reproducer.test.ts:6+`; compliant-runner report 56/56.
Локальная команда отфильтрована текущим Vitest include (RC=1/0 collected; см. `tests.md`). Старый parked canary/owner decision — live residue. Новый агент начинает с WEB-449 → этот комментарий → policy/diagnostics/metadata/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:43.002Z