Единый алгоритм нормализации ББ/ОФР для scan-gateway и tabular-parser #116

Closed
opened 2026-10-17 10:28:21 +03:00 by aep · 1 comment
Owner

Цель

Вывести универсальный алгоритм нормализации результата распознавания форм ББ/ОФР, общий для scan-gateway (OCR, ИС Сканирование) и tabular-parser (Excel), чтобы arm-core обрабатывал оба источника одинаково.

Почему

Разбор конвейера 17.10.2026: старые ошибки распознавания (AURORA-1406, 1462, 1511, 1517, 1519, 1522, 1523, 1524, 1634) — не отдельные баги, а свойство конвейера:

  • три сигнала качества не сведены: сомнение OCR (ячейка, видно), арифметика §7 (документ, без привязки к ячейкам), структурные потери (выброшенные строки, дубли кода, шапка — плоские строки на уровне файла, в UI не видны);
  • строка с нечисловым кодом и повтор кода выбрасываются, вместо них ядро достраивает пустую шаблонную строку без отметки;
  • наименование строки решает шлюз, набор строк — ядро; словарь §7 и справочник строк продублированы.

Результат

OpenSpec change в arm-ka-docs: алгоритм нормализации, контракт результата (что нормализатор обязан сообщить о строке/ячейке/документе), правила в 05-domain-rules; дальше — реализация в scan-gateway, tabular-parser, arm-core отдельными PR по репозиториям.

## Цель Вывести универсальный алгоритм нормализации результата распознавания форм ББ/ОФР, общий для scan-gateway (OCR, ИС Сканирование) и tabular-parser (Excel), чтобы arm-core обрабатывал оба источника одинаково. ## Почему Разбор конвейера 17.10.2026: старые ошибки распознавания (AURORA-1406, 1462, 1511, 1517, 1519, 1522, 1523, 1524, 1634) — не отдельные баги, а свойство конвейера: - три сигнала качества не сведены: сомнение OCR (ячейка, видно), арифметика §7 (документ, без привязки к ячейкам), структурные потери (выброшенные строки, дубли кода, шапка — плоские строки на уровне файла, в UI не видны); - строка с нечисловым кодом и повтор кода выбрасываются, вместо них ядро достраивает пустую шаблонную строку без отметки; - наименование строки решает шлюз, набор строк — ядро; словарь §7 и справочник строк продублированы. ## Результат OpenSpec change в arm-ka-docs: алгоритм нормализации, контракт результата (что нормализатор обязан сообщить о строке/ячейке/документе), правила в 05-domain-rules; дальше — реализация в scan-gateway, tabular-parser, arm-core отдельными PR по репозиториям.
Author
Owner

Сделано полностью, всё слито 18–19.10.2026.

  • Спека и планы: docs #117, #121, #123, #125, #127; архив change — #130 (openspec/changes/archive/2026-10-19-unified-statement-normalization/).
  • arm-statements: #2, #4, #6 (main 3390f92).
  • arm-core: #127, #129 (часть А), #130 (копия пакета), #132 (часть Б), #134 (sync-web); архив #135.
  • tabular-parser: #51, #53, #55 (контракт 2.0); архив #56. scan-gateway: #43, #45, #47 (контракт 2.0); архив #48.
  • arm-web (test): #44, #46; архив #47. fixtures: #26, #27 (golden 2.0).
  • Гайд тестировщика: docs #129 (dev/qa-statements-v2.md).
  • Проверка 19.10: make check-full всех хостов зелёный; прогон всех данных fixtures на отдельном стенде совпал с эталонами.

Отложенное и находки приёмки (пачка исправлений, 17 открытых вопросов исполнения): #131 и follow-ups в репозиториях — arm-statements#7, arm-core#136, arm-tabular-parser#57, arm-scan-gateway#49, arm-web#48.

Сделано полностью, всё слито 18–19.10.2026. - Спека и планы: docs #117, #121, #123, #125, #127; архив change — #130 (`openspec/changes/archive/2026-10-19-unified-statement-normalization/`). - arm-statements: #2, #4, #6 (main 3390f92). - arm-core: #127, #129 (часть А), #130 (копия пакета), #132 (часть Б), #134 (sync-web); архив #135. - tabular-parser: #51, #53, #55 (контракт 2.0); архив #56. scan-gateway: #43, #45, #47 (контракт 2.0); архив #48. - arm-web (test): #44, #46; архив #47. fixtures: #26, #27 (golden 2.0). - Гайд тестировщика: docs #129 (`dev/qa-statements-v2.md`). - Проверка 19.10: `make check-full` всех хостов зелёный; прогон всех данных fixtures на отдельном стенде совпал с эталонами. Отложенное и находки приёмки (пачка исправлений, 17 открытых вопросов исполнения): #131 и follow-ups в репозиториях — arm-statements#7, arm-core#136, arm-tabular-parser#57, arm-scan-gateway#49, arm-web#48.
aep closed this issue 2026-10-19 08:29:29 +03:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-ka-docs#116
No description provided.