ОСВ: ложное «Требует проверки» — периоды, нетто-ребёнок, иерархия по отступам (AURORA-1823, 1863, 1858) #79

Merged
aep merged 5 commits from feat/78-osv-false-check into main 2026-10-28 10:07:44 +03:00

5 Commits

Author SHA1 Message Date
Andrey Epifancev
133b31a1f3 fix(osv): нетто-признак только цепочкой нетто-строк, непрерывность периодов, спека и CLAUDE.md (AURORA-1863, AURORA-1823, #78, ревью)
I-2: в netted попадает только строка, сама сошедшаяся с детьми лишь по нетто; сошедшаяся по колонкам признак не
передаёт. I-3: сальдо конца периода = сальдо начала следующего (по колонкам либо по нетто), разрыв — нарушение.
M-6: сценарии спеки (защиты вложения по суммам, цепочка нетто-строк, непрерывность периодов); CLAUDE.md и докстринг
checks.py ссылаются на решения владельца 28.10.2026.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 10:56:18 +04:00
Andrey Epifancev
e1760c08f6 fix(osv): вложенность по суммам только без названных групп, без ИНН и при одном отступе; сдвиги складываются (AURORA-1858, #78, ревью)
C-1: nest_by_sums включается из osv.py, если схема шапки не называет группы после счёта; строка с ИНН не вкладывается
и не становится родителем; прямые дети родителя должны быть на одном отступе. M-1: сдвиги складываются.
M-2: код без разделителя сегментов не вкладывается. M-3: строка закрытия — только с ненулевыми оборотами.
M-4: общий жадный перебор _greedy_ends для strategy_sums и вложенности, граница NEST_SCAN_LIMIT под тестом.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 10:43:39 +04:00
Andrey Epifancev
ca7f64c3ef fix(osv): иерархия по отступам — подуровень счёта, строка закрытия, вложенность по суммам (AURORA-1858, #78)
В strategy_indent: счёт, чей код продолжает код соседа того же отступа (68.01 → 68.01.1), — ребёнок;
безымянная строка с оборотами счёта сразу за ним — его строка закрытия; аналитика на одном отступе
вкладывается по суммам только внутри родителя с нарушением и только если он после этого сходится.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 01:03:02 +04:00
Andrey Epifancev
e01f218138 fix(osv): строки «Период» сверяются цепочкой сальдо, а не суммой (AURORA-1823, #78)
period_groups в osv_groups.yaml, признак is_period у ClassifiedRow; родитель, все дети которого
периоды: обороты = Σ, начало = начало первого, конец = конец последнего. НКЗ лист 58 убран
из манифеста ожидаемых needs_check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 00:44:24 +04:00
Andrey Epifancev
6117201b49 fix(osv): развёрнутый родитель над свёрнутым в нетто ребёнком сверяется по нетто (AURORA-1863, #78)
Узкий вариант: нетто сальдо допустимо, если среди прямых детей есть нетто-ребёнок
(прошёл сверку только по нетто либо имеет такого потомка); обороты — по колонкам.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 00:33:20 +04:00