AURORA-1734, 1735, 1864: pylib_ai_arm_statements 0.1.5 #55

Merged
aep merged 1 commits from feat/54-statements-015 into main 2026-11-12 13:32:05 +03:00
Owner

Closes #54

Подключение pylib_ai_arm_statements 0.1.5 (RSHB/pylib_ai_arm_statements#3, #5). Jira: AURORA-1734, AURORA-1735, AURORA-1864. Выкладка — AURORA-2044.

Что

  • Пин pylib_ai_arm_statements==0.1.5.
  • answer_set: кандидат каждой таблицы ИС режется split_by_form перед normalize_candidate. ББ и ОФР одной таблицей («Баланс АК-ЮЛ.pdf», AURORA-1734) — два документа, второй file:<json>;table:<i>;form:1, тип только по кодам, без TYPE_CONFLICT.
  • Изоляция ошибок: исключение адаптера или разреза — TABLE_PARSE_ERROR всей таблицы (как раньше); исключение нормализации части — TABLE_PARSE_ERROR с locator части, остальные части таблицы остаются.
  • Тесты: разрез ББ+ОФР одной таблицей, изоляция упавшей части. Эталон aep_3 — fixtures #36.
  • README и CLAUDE.md: обход набора с split_by_form.

Проверено на реальных ответах ИС (вложения Jira)

  • АК-ЮЛ (AURORA-1734): было — одна таблица ББ со строками ОФР; стало — ББ (36 кодов) и ОФР (18 кодов), needs_check. У ОФР три колонки вместо двух: ИС разорвала подпись «За I полугодие 2025 года» на две ячейки — это качество распознавания, не разрез; аналитик видит COLUMN_WITHOUT_DATE.
  • Калтан (AURORA-1735): у ОФР две колонки периодов, лишнего столбца «31» нет, его числа — NUMBERS_OUTSIDE_TABLE (info).

Проверки

  • make lint, make test-integration (11 passed), docker-build (под тегом scan-gateway:statements-015, чтобы не перезаписать scan-gateway:dev compose) — зелёные.
  • make test: 927 passed; красный только test_vendored_contracts_are_identical_to_docs (схема ЕХ не скопирована в сервисы, в main так же).

Rulings I made

  • R-1: изоляция исключений — по части, а не по всей таблице: упавший ОФР не должен уносить распознанный ББ той же таблицы. Отражено в README.
  • R-2: OpenSpec change не заводил (bounded): спека image-recognition-gateway («кандидат на каждую таблицу») остаётся верной, разрез — шаг пакета по спеке docs statement-normalization.

🤖 Generated with Claude Code

Closes #54 Подключение `pylib_ai_arm_statements` 0.1.5 (RSHB/pylib_ai_arm_statements#3, #5). Jira: AURORA-1734, AURORA-1735, AURORA-1864. Выкладка — AURORA-2044. ## Что - Пин `pylib_ai_arm_statements==0.1.5`. - `answer_set`: кандидат каждой таблицы ИС режется `split_by_form` перед `normalize_candidate`. ББ и ОФР одной таблицей («Баланс АК-ЮЛ.pdf», AURORA-1734) — два документа, второй `file:<json>;table:<i>;form:1`, тип только по кодам, без `TYPE_CONFLICT`. - Изоляция ошибок: исключение адаптера или разреза — `TABLE_PARSE_ERROR` всей таблицы (как раньше); исключение нормализации части — `TABLE_PARSE_ERROR` с `locator` части, остальные части таблицы остаются. - Тесты: разрез ББ+ОФР одной таблицей, изоляция упавшей части. Эталон aep_3 — fixtures #36. - README и CLAUDE.md: обход набора с `split_by_form`. ## Проверено на реальных ответах ИС (вложения Jira) - АК-ЮЛ (AURORA-1734): было — одна таблица ББ со строками ОФР; стало — ББ (36 кодов) и ОФР (18 кодов), `needs_check`. У ОФР три колонки вместо двух: ИС разорвала подпись «За I полугодие 2025 года» на две ячейки — это качество распознавания, не разрез; аналитик видит `COLUMN_WITHOUT_DATE`. - Калтан (AURORA-1735): у ОФР две колонки периодов, лишнего столбца «31» нет, его числа — `NUMBERS_OUTSIDE_TABLE` (info). ## Проверки - `make lint`, `make test-integration` (11 passed), `docker-build` (под тегом `scan-gateway:statements-015`, чтобы не перезаписать `scan-gateway:dev` compose) — зелёные. - `make test`: 927 passed; красный только `test_vendored_contracts_are_identical_to_docs` (схема ЕХ не скопирована в сервисы, в main так же). ## Rulings I made - R-1: изоляция исключений — по части, а не по всей таблице: упавший ОФР не должен уносить распознанный ББ той же таблицы. Отражено в README. - R-2: OpenSpec change не заводил (bounded): спека `image-recognition-gateway` («кандидат на каждую таблицу») остаётся верной, разрез — шаг пакета по спеке docs `statement-normalization`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
aep added 1 commit 2026-11-12 13:19:39 +03:00
- Пин pylib_ai_arm_statements==0.1.5 (0.1.4 — группа альтернатив 2400, AURORA-1864;
  0.1.5 — split_by_form и редкий столбец, AURORA-1734/1735).
- answer_set: кандидат каждой таблицы режется split_by_form перед normalize_candidate —
  ББ и ОФР одной таблицей ИС («Баланс АК-ЮЛ.pdf») становятся двумя документами
  (`…;table:<i>;form:<k>`). Исключение изолировано по таблице (адаптер, разрез) и по части
  (нормализация): упавшая часть — TABLE_PARSE_ERROR со своим locator, остальные остаются.
- Тесты: разрез ББ+ОФР одной таблицей, изоляция части.
- Эталон aep_3 — fixtures #36 (уходит мягкое 2400 при сошедшейся альтернативе).
- README и CLAUDE.md: обход набора с split_by_form, версия библиотеки — по пину.

Проверено на реальных ответах ИС из AURORA-1734 (АК-ЮЛ: ББ + ОФР) и AURORA-1735
(Калтан: ОФР без лишнего столбца).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aep merged commit 68724fbf01 into main 2026-11-12 13:32:05 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-scan-gateway#55
No description provided.