Счета без сальдо по аналитике (91, 99) вне тождества строк — OQ-132 (#11 п. 2) #26
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/11-osv-91-no-saldo"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #11
Пункты 1, 3–6 issue закрыты PR #13 (слит; коммиты
30f78c4,6fd7add,af8ec91— см. комментарий в #11 от 06.10.2026, пункт 6 — «дефекта разноса нет»); этот PR закрывает последний открытый пункт 2 (счёт 91) по решению владельца от 07.10.2026 (OQ-132, вариант Б, правило —05-domain-rules.md§1.4, RSHB/arm-ka-docs#62).Что сделано
api/rules/osv_checks.yaml, ключaccounts_without_analytic_balance:91,99(90 не включён). МодельOsvCheckRulesвrules.py(валидация кодов, методhas_no_analytic_balance),Rules.checks.checks.py:balance_identity,parent_sums,run_checksпринимают необязательныйexempt: OsvCheckRules;osv.pyпередаётrules.checks. Безexemptповедение прежнее.test_checks.py(дерево 91 с аналитикой только по оборотам; оборотная сверка и сальдо субсчетов под корнем остаются нарушениями; «Итого» проверяется;910/90.01не освобождаются),test_rules.py(состав списка, сопоставление, правка данных без кода, валидация); манифестtests/osv_dkb_expectations.yaml— убраны две записи по 91.README.md,CLAUDE.mdсервиса,api/rules/README.md,openspec/specs/osv-parsing/spec.md(правка напрямую, без change).Статусы двух ОСВ 91 (CLI парсера)
osv-dkb/tsimlyansky/2025-Q3/91_ 9мес.2025.xlsneeds_check: тождество — 39 строк, родители — строки 10, 28, 50done, оба списка пусты,total_row_matches_root = trueosv-dkb/primanych/2025-Q3/Оборотно-сальдовая ведомость по счету 91 за 9 месяцев 2025 г. ООО Приманыческий.xlsneeds_check: тождество — 34 строки, родители — строки 10, 23, 45done, оба списка пусты,total_row_matches_root = trueGolden-снимки
Лежат в репозитории fixtures: RSHB/arm-ka-fixtures#14 (ветка
feat/11-golden-91-no-saldo).make golden-updateизменил ровно два снимка из 113 — эти два файла 91; в каждом толькоstatus(needs_check->done), пустыеbalance_identity_violations/parent_sum_violationsи исчезнувшие два предупреждения §1.4. Суммы строк, прочие снимки,total_row_matches_rootне менялись. Golden-тесты (make test) зелёные только при снимках из #14: сливать оба PR вместе.Проверки
make check: ruff check, ruff format --check, mypy src (50 файлов) — чисто; pytest 2251 passed, 1 skipped, 10 deselected (156 с), при../fixtures= веткаfeat/11-golden-91-no-saldo. До правки снимков на main-фикстурах падали ровно два golden-теста 91 (845 passed, 2 failed вtests/fixtures) — ожидаемо.make check-full:check(выше) +make test-integration(compose-стенд postgres/nats/minio поднят, 10 passed) +make docker-build(образ собран).Rulings I made
osv_checks.yaml, а не ключ в существующем: в соседних словарях записи —Pattern, а здесь коды счетов; смешивание сломало бы тест покрытия словарей (R-22) и смысл файлов. Файл внесён вPATTERNLESSпокрытия (какstatement_checks.yaml). Счёт 90 не включён (решение владельца).account_code_raw, «как в файле»): код совпадает с записью списка либо начинается с<запись>.(91,91.01,91.09; не910, не9). Не по коду из шапки документа: работает и для листа без «по счету …» в шапке (код берётся из таблицы), и для листа с несколькими корнями. Следствие: у строки «Итого» кода нет, поэтому её тождество проверяется как обычно (на 91 оно выполняется, корень = «Итого»).needs_checkпо parent_sum — задача п. 2 не достигалась бы).golden) вынесены в отдельный PR fixtures #14 по правилам репозитория (снимки правятся толькоmake golden-updateотдельным коммитом в fixtures).osv_dkb_expectations.yaml): две записи 91 удалены (теперьdone); записи agrokompleks 62/76 (аналитика магазинов без сальдо, «тот же класс») не тронуты — решение владельца касается только 91 и 99.design.mdнет; решения R-1…R-5 зафиксированы здесь и вopenspec/specs/osv-parsing/spec.md.Находки
fixtures/osv-dkb/nm/2025-Q3/НМ_ОСВ_63_Контрагенты_2025.09-01_24498.xlsx:done, организация «НОВОРОСМЕТАЛЛ ООО», счёт 63 (из первой строки таблицы, предупреждение), период «9 месяцев 2025 г.» -> 2025 Q3, тип данных BU, строка 58 принята за «Итого» с предупреждением и не входит в сумму детей, нару��ений нет. Файла тестировщика («…-требуется проверка.xlsx») в fixtures нет; вероятно, тестировщик гонял сборку до PR #13 или иную копию файла. Код не менялся.needs_checkпо тождеству строки; в список не включены (решение владельца: только 91 и 99).05-domain-rules.md§1.4 говорит «проверки «сумма детей = родитель» на этих счетах сохраняются» без уточнения, что сальдо аналитики не сверяется (R-3).4940068(парсер), fixtures: коммит веткиfeat/11-golden-91-no-saldodocker-buildиtest-integrationвыполнены на локальном compose-стенде (параллельныйmake check-fullarm-core конфликтов не вызвал).🤖 Generated with Claude Code
https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
Уточнение к находке O-4: коммит снимков в arm-ka-fixtures#14 — 0f04cce.