Andrey Epifancev a9aa6f60b0 Архив change statement-checks-alternatives (AURORA-1864, #209)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 23:00:11 +04:00

3.3 KiB
Raw Blame History

Why

Замечание тестировщика заказчика 23.10.2026 (AURORA-1864, ООО «Фавор плюс», ООО «Фактор»): у ОФР с положительной строкой 2410 «Налог на прибыль» (доход по налогу, ФСБУ 4/2023) появляется мягкое нарушение «2400 = 2300 − 2410 + 2420», хотя форма верна (2400 = 2300 + 2410). 2410 — член abs_terms: правая часть считается и как записано, и с |2410|, но оба варианта вычитают 2410. Второе соотношение «2400 = 2300 + 2410 + 2460» на таких данных сходится, а первое всё равно выдаёт предупреждение. Аналитик видит «некорректную проверку».

What Changes

  • Словарь statement_checks.yaml (библиотека pylib_ai_arm_statements 0.1.4, RSHB/pylib_ai_arm_statements#3): необязательный ключ group у мягких соотношений — группа альтернатив одной цели. В колонке сошлась хоть одна — нарушений группы нет; не сошлась ни одна — одно нарушение, ближайшая к цели. group у жёсткого — ошибка загрузки.
  • Соотношения 2400 ОФР — одна группа в полном наборе (2400 = 2300 − 2410 + 2420, 2400 = 2300 + 2410 + 2460) и в упрощённом (существующее + новое 2400 = 2110 − 2120 − 2330 + 2340 − 2350 + 2410).
  • Документы контекста: 05-domain-rules.md §7 (правило группы, знак 2410 не определяется), 07-open-questions.md OQ-12 — закрыт в части знака 2410.
  • Контракт recognition-result не меняется: формат soft_relations_failed прежний, меняется только состав нарушений.

Подъём версии библиотеки до 0.1.4 в arm-core, tabular-parser, scan-gateway — отдельными PR после merge AURORA-1677 (переезд на библиотеку; merge придержан владельцем до выкатки гудвилла).

Non-goals

  • Жёсткие проверки, подсветка, needs_check, подтверждение значений шагом 8 (Р-21) — без изменений.
  • Формула старого бланка с 2430/2450 не добавляется.
  • Словари по редакциям 66н / ФСБУ 4/2023 (OQ-146, OQ-150, AURORA-1554) — отдельная задача.
  • Переразбор уже загруженных документов: новые проверки применяются к новым загрузкам и к пересчёту после правок.

Impact

  • Спека statement-normalization — требование «Шаг 7 — самопроверки §7».
  • Репозитории: pylib_ai_arm_statements (код и словарь), arm-ka-docs (этот change); подъём пина в arm-core, arm-tabular-parser, arm-scan-gateway — после AURORA-1677.