## Context PR RSHB/arm-core#165, задача AURORA-1651 (технический долг ревью PR #114). Шахматка — чистая функция от сводной ОСВ версии (DECISION-5), контракт ответа не меняется: меняются смысл `one_sided`, состав счетов режима ALL и заливка xlsx. ## Decisions 1. `one_sided = (amount_a == 0) != (amount_b == 0)`. Формула из описания задачи (`min(amount_a, amount_b) == 0 and variance_amount > 0`) на неотрицательных суммах даёт то же, но на отрицательном сальдо (возможно по §1) пропускает пару: −50 против 0 → `min = −50`. Знак ненулевой суммы не важен. 2. Подсветка в API и в xlsx — `exceeds_threshold or one_sided`. Поле `exceeds_threshold` сохраняет смысл «процент > 5»; экран шахматки красит пару по тому же правилу (PR #158, change `intercompany-matrix-ui`). 3. Забалансовые счета (`is_off_balance = true`) исключаются только в ALL; MANUAL выбирает их явно, это не ошибка. 4. Фильтры `GET /directories/accounts` (`kind[]`, `row_type`, `is_off_balance`) из первой редакции PR убраны: в задаче их нет, потребителей нет, при фильтре по `kind` в ответе оставались `parent_id` на строки вне ответа. ## Decisions made without discussion - 2026-10-22. Формула `one_sided` через «ровно одна сумма нулевая» вместо формулы из описания задачи. Обоснование — отрицательное сальдо (решение 1). Цена ошибки: если аналитик решит, что отрицательная сторона — не «пара без встречной стороны», меняется одна строка и тест. - 2026-10-22. Влив `main` с #141 и разрешение конфликтов выполнил ревьюер (владелец: «доведём задачу до ума, потом сольём»). В ALL сохранены и фильтр забалансовых, и `MatrixSelection(..., "closing")` из #141; тесты #141 на старый смысл `one_sided` переписаны. Цена ошибки: низкая, расчёт PRESET не затронут (свои счета правила). ## Решения владельца (2026-10-22) - Экран красит и по `one_sided` (а не бэкенд выставляет `exceeds_threshold`). - Фильтр `/directories/accounts` убрать из PR. - Счёт `000` «Вспомогательный» не трогать, вопрос — в `07-open-questions.md`. - Процент при отрицательной меньшей стороне — вопрос в `07-open-questions.md`, в этом PR не меняется.