Follow-ups from #14 (Срез 2b, парсер ББ/ОФР) #20

Closed
opened 2026-10-06 21:42:09 +03:00 by aep · 3 comments
Owner

Отложенные находки Среза 2b (PR tabular-parser #16, docs #27, fixtures #10). Полные формулировки — ledger docs/superpowers/plans/2026-10-06-slice-2b-statement-parser-ledger.md в arm-ka-docs и описание PR #16. Статус всех — deferred.

Значимые

  • N-1 — ослабленный порог продолжений (min_codes_continuation = 1) допускает ложные присоединения: посторонний лист с одним числом в диапазоне кодов после формы при совпадении числа колонок молча присоединяется, документ может остаться done.
  • M-12 (= T1.1/T2.1, T2.2, T2.3) — docs/contracts: $comment схемы упоминает «1.1»; пример result-statement-excel.json в needs_check при одном мягком нарушении; пустой checks в OCR-примере result-statement-minimal.json противоречит «нет объекта = не проверялось». Править до Среза 3 (контракт заморожен рулингом R-4; затем пересинхронизация копий в arm-core и scan-gateway).
  • OQ-138 — реальные формы с рублями при шапке «тыс. руб.» дают needs_check (баланс НПЗ 1600 = 1700 на 1.94/9.02/2.48; ОФР НПЗ и ОФР Унагранде стр. 1 2100 на 17.50/9.43/1416). Решение владельца: допуск или нормировка единиц.
  • M-9 — подстроки с 10-го номера (11910…) не попадают в _subline_rules.
  • N-2 — book.py проверяет «форма была раньше», а не «сразу после листа формы».
  • N-3 — нет негативных тестов BookParser для шлюза продолжений (форма + посторонний лист; одиночный лист с одной кодовой строкой; ОСВ + лист с одним кодом).
  • N-4 — на продолжении без шапки значения «Пояснения» могут стать line_name.
  • N-5 — design D-10 «periods.yaml не правится» противоречит правке I-2 (текст архива).
  • T7.1 — при ошибке ОСВ-листа предупреждения пропуска форм не попадают в ответ с ошибкой; T7.2 — семантика metrics.rows для форм не зафиксирована.

Мелкие (тесты, косметика)

  • T1.2 — format: date не проверяется без format_checker.
  • T4.1–T4.6 — перепарсинг RelationRule.target/terms; хелпер _any; нет lo <= hi; FormType не в __all__; негативные тесты словарей; комментарий statement_periods.yaml.
  • T5.1–T5.5 — мёртвые noqa, шумные константы, непокрытая ветка, лишние вычисления, «Пояснения» только в header_row.
  • T6.3–T6.5 — производительность классификации, пробелы тестов, риск ложного продолжения (связано с N-1).
  • T8.1–T8.4, O-4 — тесты границ периода; «Январь – Май» наследует квартал от правила года.
  • T9.1–T9.5, O-5 — тесты шапки; блок аудитора выше ИНН организации даёт inn = None.
  • T10.1–T10.6 — тесты строк, merged_origin, минус-знак.
  • T11.1, T11.2, O-6 — checks.py мёртвая ветка; 1600 = 1700 на фрагментах.
  • T12.2, T12.4–T12.9, O-7 — merge.py/statement.py: лишняя ветка, O(n·m) join, побочный эффект _document, вакуумный тест шаблона, дубликат внутри продолжения; «лист ОСВ между страницами» интерфейсом не выражается.
  • T13.3, T13.4 — проверить, закрыты ли раундом 3.
  • T14.1, T14.2, T14.4–T14.6 — тесты манифеста (locator.count(",") ломается на запятой в имени листа и др.).
  • T15.3, T15.4 — README/тест воркера.
  • T16.4 (docs) — статус PR в 09-delivery-plan.md устарел после мержа.
  • Трейлер Claude-Session в коммитах финальной волны — URL вместо UUID (O-12), историю не переписывать.

🤖 Generated with Claude Code

Отложенные находки Среза 2b (PR tabular-parser #16, docs #27, fixtures #10). Полные формулировки — ledger `docs/superpowers/plans/2026-10-06-slice-2b-statement-parser-ledger.md` в arm-ka-docs и описание PR #16. Статус всех — deferred. **Значимые** - [ ] N-1 — ослабленный порог продолжений (`min_codes_continuation = 1`) допускает ложные присоединения: посторонний лист с одним числом в диапазоне кодов после формы при совпадении числа колонок молча присоединяется, документ может остаться `done`. - [ ] M-12 (= T1.1/T2.1, T2.2, T2.3) — `docs/contracts`: `$comment` схемы упоминает «1.1»; пример `result-statement-excel.json` в `needs_check` при одном мягком нарушении; пустой `checks` в OCR-примере `result-statement-minimal.json` противоречит «нет объекта = не проверялось». Править до Среза 3 (контракт заморожен рулингом R-4; затем пересинхронизация копий в arm-core и scan-gateway). - [ ] OQ-138 — реальные формы с рублями при шапке «тыс. руб.» дают `needs_check` (баланс НПЗ `1600 = 1700` на 1.94/9.02/2.48; ОФР НПЗ и ОФР Унагранде стр. 1 `2100` на 17.50/9.43/1416). Решение владельца: допуск или нормировка единиц. - [ ] M-9 — подстроки с 10-го номера (`11910`…) не попадают в `_subline_rules`. - [ ] N-2 — `book.py` проверяет «форма была раньше», а не «сразу после листа формы». - [ ] N-3 — нет негативных тестов `BookParser` для шлюза продолжений (форма + посторонний лист; одиночный лист с одной кодовой строкой; ОСВ + лист с одним кодом). - [ ] N-4 — на продолжении без шапки значения «Пояснения» могут стать `line_name`. - [ ] N-5 — design D-10 «periods.yaml не правится» противоречит правке I-2 (текст архива). - [ ] T7.1 — при ошибке ОСВ-листа предупреждения пропуска форм не попадают в ответ с ошибкой; T7.2 — семантика `metrics.rows` для форм не зафиксирована. **Мелкие (тесты, косметика)** - [ ] T1.2 — `format: date` не проверяется без `format_checker`. - [ ] T4.1–T4.6 — перепарсинг `RelationRule.target/terms`; хелпер `_any`; нет `lo <= hi`; `FormType` не в `__all__`; негативные тесты словарей; комментарий `statement_periods.yaml`. - [ ] T5.1–T5.5 — мёртвые `noqa`, шумные константы, непокрытая ветка, лишние вычисления, «Пояснения» только в `header_row`. - [ ] T6.3–T6.5 — производительность классификации, пробелы тестов, риск ложного продолжения (связано с N-1). - [ ] T8.1–T8.4, O-4 — тесты границ периода; «Январь – Май» наследует квартал от правила года. - [ ] T9.1–T9.5, O-5 — тесты шапки; блок аудитора выше ИНН организации даёт `inn = None`. - [ ] T10.1–T10.6 — тесты строк, `merged_origin`, минус-знак. - [ ] T11.1, T11.2, O-6 — `checks.py` мёртвая ветка; `1600 = 1700` на фрагментах. - [ ] T12.2, T12.4–T12.9, O-7 — `merge.py`/`statement.py`: лишняя ветка, O(n·m) `join`, побочный эффект `_document`, вакуумный тест шаблона, дубликат внутри продолжения; «лист ОСВ между страницами» интерфейсом не выражается. - [ ] T13.3, T13.4 — проверить, закрыты ли раундом 3. - [ ] T14.1, T14.2, T14.4–T14.6 — тесты манифеста (`locator.count(",")` ломается на запятой в имени листа и др.). - [ ] T15.3, T15.4 — README/тест воркера. - [ ] T16.4 (docs) — статус PR в `09-delivery-plan.md` устарел после мержа. - [ ] Трейлер `Claude-Session` в коммитах финальной волны — URL вместо UUID (O-12), историю не переписывать. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Author
Owner

Разбор 06.10.2026 с владельцем. В работе PR tabular-parser #21, fixtures #11, docs #45, arm-core #34, scan-gateway #7: N-1, N-2, N-3, N-4, M-9, T7.1, T7.2, M-12 (T1.1/T2.1/T2.2/T2.3), OQ-138 (закрыт решением владельца: «тыс. руб.» верим, округление итогов до 0,001 % — мягкое), T16.4. Закрыть без работы: N-5 (текст в архиве change), O-12 (трейлер в истории), T1.2 (даты проверяет pydantic). Остаются мелкие T*.k тестов и стиля.

Разбор 06.10.2026 с владельцем. В работе PR tabular-parser #21, fixtures #11, docs #45, arm-core #34, scan-gateway #7: N-1, N-2, N-3, N-4, M-9, T7.1, T7.2, M-12 (T1.1/T2.1/T2.2/T2.3), OQ-138 (закрыт решением владельца: «тыс. руб.» верим, округление итогов до 0,001 % — мягкое), T16.4. Закрыть без работы: N-5 (текст в архиве change), O-12 (трейлер в истории), T1.2 (даты проверяет pydantic). Остаются мелкие T*.k тестов и стиля.
Author
Owner

Слиты tp #21, fixtures #11, docs #45, arm-core #34, scan-gateway #7. Закрыты: N-1, N-2, N-3, N-4, M-9, T7.1, T7.2, M-12 (T1.1/T2.1/T2.2/T2.3), OQ-138, T16.4; без работы: N-5, O-12, T1.2. Issue остаётся открытой: мелкие T*.k (тесты и стиль).

Слиты tp #21, fixtures #11, docs #45, arm-core #34, scan-gateway #7. Закрыты: N-1, N-2, N-3, N-4, M-9, T7.1, T7.2, M-12 (T1.1/T2.1/T2.2/T2.3), OQ-138, T16.4; без работы: N-5, O-12, T1.2. Issue остаётся открытой: мелкие T*.k (тесты и стиль).
Author
Owner

N-1 (лист с одним кодом присоединяется к форме) — AURORA-1824, воспроизведено на синтетике. Остальное заменено общим пакетом нормализации. Закрываю.

N-1 (лист с одним кодом присоединяется к форме) — AURORA-1824, воспроизведено на синтетике. Остальное заменено общим пакетом нормализации. Закрываю.
aep closed this issue 2026-10-25 19:41:20 +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-tabular-parser#20
No description provided.