diff --git a/openspec/changes/unified-statement-normalization/design.md b/openspec/changes/unified-statement-normalization/design.md index 3012ae7..63aa105 100644 --- a/openspec/changes/unified-statement-normalization/design.md +++ b/openspec/changes/unified-statement-normalization/design.md @@ -330,6 +330,12 @@ sheet:,`. `DISCLOSURE` и форма без колонки кодов — статус строки, нарушения §7 по ячейкам, предупреждения с уровнем и привязкой. Статус документа сервис выводит из них сам; ядро не пересчитывает. 4. **Один словарь — одно место:** строки форм, проверки §7, периоды, заголовки форм, диапазоны кодов. +5. **Очистка OCR (§11.1) — не отдельный шаг, а первая стадия типовых разборов текста** в общем коде, там, где уже + известен смысл ячейки: ИНН и дата шапки (шаг 1), подписи колонок (шаг 2), код строки и разлепление склеенных + строк (шаг 3), сумма (шаг 4). Разбор вызывается для любой ячейки без `value`; у Excel он срабатывает только на + текстовых ячейках и почти всегда ничего не меняет. Факт исправления фиксируется там же: `is_recognized = false` + у значения, `unreadable` у кода, предупреждение у даты. Из `normalizer/ocr/` шлюза `text`, `dates`, `amounts` + становятся общими разборами, `layout`, `rows`, `header`, `document` — шагами 2–6 общего кода. ### Шаг 1 — Подготовка данных