docs(#116): Р-2 решено — отсутствующая позиция под колонкой = чистый null, по данным fixtures/ocr

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Andrey Epifancev 2026-10-17 19:00:29 +04:00
parent 3d7b32ca87
commit 26df4ad2d1

View File

@ -1,7 +1,7 @@
# Единый алгоритм нормализации ББ/ОФР (scan-gateway и tabular-parser) — дизайн
Issue: arm-ka-docs#116. Статус: черновик; текущая цепочка описана, целевая картина по шагам 1–9 — предложение, ждёт
решений владельца Р-1, Р-2, Р-5…Р-7; Р-3 и Р-4 решены (brainstorming 17.10.2026).
решений владельца Р-5…Р-7; Р-1…Р-4 решены (brainstorming 17.10.2026).
## Цель
@ -454,7 +454,7 @@ sheet:<A>,<B>`. `DISCLOSURE` и форма без колонки кодов —
- **4. Единицы** — одно правило: единицы «тыс. руб.» и дробных ≥ 10 % → предупреждение документа
- scan-gateway: добавляет
- tabular-parser: как сейчас
- **5. Пустая ячейка** — одно правило: позиции нет, текст пуст или прочерк → `amount = null`, `string_value = null`, `is_recognized = true`, `confidence` ячейки (нет ячейки — 100). Потерянную OCR-ячейку ловят проверки §7 (Р-2)
- **5. Пустая ячейка** — **решение владельца (17.10.2026, Р-2):** одно правило: позиции нет, текст пуст или прочерк → `amount = null`, `string_value = null`, `is_recognized = true`, `confidence` ячейки (нет ячейки — 100), собственной подсветки нет. По `fixtures/ocr` ИС отдаёт ячейку на каждую позицию каждой строки: пустые — пустой текст с уверенностью 100, непрочитанные — с уверенностью 0, и такие идут в `needs_review` по общему правилу шага 8; позиция отсутствует только при несовпадении колонок сегмента, что покрыто предупреждением `error` шага 2 п. 2
- scan-gateway: «ячейки нет → 0, не распознано» уходит
- tabular-parser: как сейчас
@ -588,8 +588,10 @@ column_index?}`, а не строка.
скрипт `sync-statements` в docs по образцу `sync-web.sh`, `make check` потребителя проверяет свежесть копии, прямые
правки копии запрещены. Когда платформа научится собирать пакеты, копия заменяется строкой зависимости без смены
импортов.
- **Р-2** (шаг 4, п. 5) — отсутствующая OCR-ячейка под колонкой: чистый `null` (предложение; потерю ловит §7) или
подсветка «не распознано», как сейчас (больше ложных подсветок, AURORA-1524).
- **Р-2** (шаг 4, п. 5) — **решено владельцем 17.10.2026:** отсутствующая позиция под колонкой — чистый `null` без
собственной подсветки. Основание: по fixtures ИС отдаёт ячейку на каждую позицию (пустая — уверенность 100,
непрочитанная — 0, и её ловит общее правило `needs_review`); отсутствие позиции бывает только при несовпадении
колонок сегмента и покрыто предупреждением шага 2 п. 2.
- **Р-3** (шаг 5, п. 1) — **решено владельцем 17.10.2026:** сервисы отдают распознанный текст наименования;
соответствие «код → наименование» — только в ядре, при необходимости (= решение № 2 по спринту 2, AURORA-1406 /
1522; договорённость ДБД «из справочника» выполняется на экране).