Миграция 0011_dbml_v5_24 (vgo_assignment) уже была слита в arm-core main;
docs/model/data-model-v5.24.dbml не существовал — arm-core-dbml-check
красный в регрессии 2026-11-02_2131. Таблица описана по факту ORM/миграции
(dbml_parity.py уже содержал хардкод под это: поля side нет — решение
зафиксировано).
Заодно приведены в соответствие с уже слитым кодом:
- 05-domain-rules.md §5: экран «Пары ВГО» (elimination-totals/pairs) оставлен
как есть (двойной учёт — известное ограничение, из UI убран), добавлен
п. 2a — разнесение строк в «Таблице корректировок» (vgo_assignment),
которое и решает двойной учёт исключением спорной строки до ручного
решения аналитика;
- §8: корректировка — массивы debit[]/credit[], всегда APPLIED, без
REVOKED, оптимистичная блокировка по version_no, порог строго > 5 % (R-35);
- OQ-178: открытый вопрос "включительно или нет" (ТЗ/DOC-272613 против
факта реализации) зафиксирован отдельно от уже закрытого OQ-174;
- analyst/eliminations-vgo.md, dev/api-contract-corrections.md/goodwill.md,
context/*, Makefile, openspec/config.yaml, repo-templates/arm-core.CLAUDE.md —
версия 5.23 → 5.24; диаграмма part08 перерисована.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Решения владельца 23.10.2026 по ревью arm-core #175:
- consolidation_version.elimination_rules_version — not null, существующим
версиям номер проставляет миграция по дате создания;
- §5: каскад по остатку отменён (21.10), правила считаются отдельно до
разнесения строк AURORA-1751; суммы сторон со знаком, при min <= 0 процент
не считается; отрицательные строки в упаковку не идут (NEGATIVE_AMOUNT);
группы сортируются по проценту расхождения; выдача — список троек версии
и детализация тройки;
- OQ-173, OQ-174, OQ-175; страница аналитика; гайд фронта §5.7.2;
ссылки на модель и диаграммы — v5.23.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
В main (#138) номера OQ-169…172 заняты вопросами ОСВ; пересечение счетов правил
элиминации — OQ-173 (закрыт решением владельца 19.10.2026).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
§5: сумма элиминации пары (A, B) считается по правилам в порядке rule_no, каждое берёт
min из остатка сторон после предыдущих (как правило № 1 Прил. 3) — без двойной
элиминации по общим счетам № 3–8; упаковка в том же порядке, ничьей между правилами
нет; зеркальные № 9–16 — те же правила для (B, A). OQ-169 закрыт решением владельца
19.10.2026. Документ для аналитика: раздел 3.2, 3.3, пример, В-12.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
§5: два уровня по тройке (правило × A × B) — сумма элиминации (агрегат min(ΣA, ΣB),
порог 5 %, идёт в КФО) и упаковка строк 1:1 / 1:N / N:1 (N ≤ 5, N:M нет, минимальная
по числу строк, ничья → ручное). §8: eliminated_auto — Σ троек. OQ-07 закрыт решением
владельца 19.10.2026; новый OQ-169 — пересечение счетов правил (двойная элиминация).
Документ для аналитика: разделы 3.2, 3.3, 5, вопросы В-2 (решён), В-4, В-12.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
analyst/eliminations-vgo.md: что хранится и что считается (DECISION-5), раскладка
elimination_rule / elimination_rule_account (Прил. 3/4, версии), сопоставление пар,
шахматка, путь до КФО, корректировки, гудвилл, пример на фикстурах РБ Q3 2024,
вопросы В-1…В-11. В индексе 08-source-docs-index — раздел «Материалы для аналитика».
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>