Andrey Epifancev 9c57f680af Архив OpenSpec elimination-pairs-rule-totals (PR #175)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 23:02:24 +04:00

2.8 KiB
Raw Blame History

Why

Срез 5, AURORA-1536: автоматическое сопоставление ВГО по 05-domain-rules.md §5. Нужны итог элиминации по тройке «правило, компания A, компания B» (идёт в КФО), детализация строк ОСВ по группам и список всех троек версии для таблицы корректировок (AURORA-1540, AURORA-1541) и разнесения строк (AURORA-1751). Версия правил, по которой считается версия консолидации, должна быть зафиксирована всегда, иначе после публикации новых правил старые консолидации молча пересчитаются по ним.

What Changes

  • При создании версии консолидации фиксировать elimination_rules_version — версию правил, действующую на дату создания (OQ-174); DBML v5.23 делает поле NOT NULL, миграция 0010_dbml_v5_23 заполняет существующие версии; без действующих правил версия не создаётся (409 ELIMINATION_RULES_MISSING).
  • GET …/elimination-pairs — итог тройки (суммы сторон со знаком, расхождение, процент, сумма элиминации по правилу 5 %) и упаковка 1:1 / 1:N / N:1 с причинами строк без пары.
  • GET …/elimination-totals — итоги всех троек версии одним запросом со статусом AUTO / DISCREPANCY / ONE_SIDED / MANUAL.
  • GET …/elimination-rules — всегда правила зафиксированной версии.

Capabilities

New Capabilities

Нет.

Modified Capabilities

  • consolidations-api: создание консолидации фиксирует версию правил; правила зафиксированной версии; пары ВГО тройки и версии.
  • data-model: DBML v5.23, миграция 0010_dbml_v5_23.

Impact

arm-core: миграция, ORM, чистый расчёт, сервис, схемы, маршрут, тесты, OpenSpec. arm-ka-docs (#164): DBML v5.23, §4–§5 без каскада, OQ-173/174/175, гайд фронта §5.7.2. Основание — context/05-domain-rules.md §4–§5, решения владельца 08.10, 19.10, 21.10 и 23.10.2026.

Non-goals

Сохранение пар в БД (DECISION-5), разнесение строк по правилам и снятие двойного учёта (AURORA-1751), корректировки (AURORA-1540), правила и пары ОФР.