feat(statements): парсер ББ и ОФР из Excel, контракт v1.2 (Срез 2b) #16

Merged
aep merged 43 commits from feat/14-slice-2b-statement-parser into main 2026-10-06 21:38:00 +03:00
Showing only changes of commit cb0cad68f6 - Show all commits

View File

@ -211,3 +211,5 @@ Unit (`tests/unit/parser/statements/`) на `gridbuilder`; property (`tests/fixt
| 9 | 2026-10-06 | D-8: критерий `ok` документа включает «в шапке есть организация или ИНН» | без шапки ядро не сверит владельца; страница 2 должна быть `needs_check` | ослабить критерий |
| 10 | 2026-10-06 | D-9: `period_start/period_end/is_from_year_start` в шапке ОСВ добавляются в контракт здесь, заполнение делится с #11 | владелец: поля в v1.2 (вопрос 5) | follow-up на заполнение |
| 11 | 2026-10-06 | D-1: документы книги — сначала ОСВ, потом формы | детерминированный порядок для golden | порядок листов |
| 12 | 2026-10-06 | Контракт v1.2 раскатан в arm-core (PR #27) и scan-gateway (PR #5) копиями; в scan-gateway вместе с v1.2 догнан v1.1 (`OsvRow.extra`, пример `result-osv-needs-check.json`), `CONTRACT_VERSION` обоих репозиториев не менялся | копия схемы обязана быть байт в байт с docs; потребители версию не повышают, пока не пишут новых полей | откат отдельным коммитом, поле необязательное (R-2) |
| 13 | 2026-10-06 | Минор-находки ревью задач 1–2 по `$comment` схемы («1.1»), статусу примера excel и `checks` в OCR-примере minimal отложены (правка в docs/contracts + пересинхронизация копий) | план запрещал трогать `$comment`; примеры предписаны планом | косметика примеров; ядро/парсер не затронуты (T1.1, T2.2, T2.3) |