diff --git a/openspec/changes/intercompany-matrix-presets/design.md b/openspec/changes/intercompany-matrix-presets/design.md index 5b8a0f2..764a0e3 100644 --- a/openspec/changes/intercompany-matrix-presets/design.md +++ b/openspec/changes/intercompany-matrix-presets/design.md @@ -1,6 +1,9 @@ ## Context -Реализация — PR RSHB/arm-core#141 (ветка `add-preset-shahmatka`). Шахматка — чистая функция от сводной ОСВ версии, +Реализация — PR RSHB/arm-core#141 (ветка `add-preset-shahmatka`), задача AURORA-1747 (выделена из AURORA-1536 +решением владельца 21.10.2026). Расчёт элиминации §5 — сумма по тройке с `elimination_mode` каскадом по `rule_no`, +упаковка строк и «без пары», API списка пар, фиксация `elimination_rules_version` — остаётся в AURORA-1536 и в этот +change не входит. Шахматка — чистая функция от сводной ОСВ версии, периметра и выбранных счетов; в БД не хранится (DECISION-5). Корректировки (`correction`) — хранимые ручные решения, читаются, но в ядре пока никем не создаются. @@ -25,7 +28,7 @@ ## Решения владельца (2026-10-21, ревью PR #141) -1. **Фиксация версии правил — в AURORA-1536.** Пока `consolidation_version.elimination_rules_version` пуст, шахматка +1. **Фиксация версии правил — в AURORA-1536 (следующий шаг, не этот change).** Пока `consolidation_version.elimination_rules_version` пуст, шахматка берёт открытые правила (`valid_to IS NULL`); сейчас версия правил одна (`seed/core/elimination_rules_v1.yaml`, `valid_to` не задаётся, API управления правилами нет), поэтому результат не плавает. Фиксировать версию — при создании версии консолидации или при первом расчёте, но не в GET-запросе. @@ -34,7 +37,8 @@ 3. **Корректировки из шахматки убираются** (решение 4 выше и `correction_ids_*` в ячейке). Причины: корректировки в ядре никто не создаёт (спринт корректировок), семантика ключа `(rule, A, B)` относительно ячейки (A, B) / (B, A) не утверждена, счета корректировки и `parent_correction_id` не учитывались; §6 описывает шахматку как суммы первички. - Код сохранён в ветке `wip/shahmatka-corrections-unpaired` (`0e95f95`) и возвращается с задачей корректировок. + Код сохранён в ветке `wip/shahmatka-corrections-unpaired` (`0e95f95`) и возвращается после решения по аналитике + AURORA-1643 «Учитывание корректировок в шахматке». 4. **Ручка `…/preset/{rule_id}/unpaired-osv` убирается** (решение 5 выше). Причины: «без пары» по наличию строк (дефект AURORA-1651), ложные срабатывания при пересечении счетов сторон (76 в правиле № 6), нет ячейки и стороны строки, расхождение с «без пары» §5. Сценарий закрывают AURORA-1653 (строки ОСВ ячейки) и AURORA-1536 (строки без