## ADDED Requirements ### Requirement: Итог элиминации тройки независимо от упаковки Для `(rule_id, company_a_id, company_b_id)` API SHALL возвращать суммы всех выбранных строк ОСВ обеих сторон, абсолютное расхождение `elimination_amount`, процент расхождения к меньшей сумме, `exceeds_threshold` и отдельное `eliminated_amount`. При расхождении не более 5 % `eliminated_amount` SHALL равняться `min(amount_a, amount_b)`; при превышении порога, нулевой стороне или `elimination_mode = manual` SHALL равняться нулю. Упаковка строк не меняет этот итог. #### Scenario: Точная строка среди несопоставленных остатков - **WHEN** правило № 6 для Счастливочной и АО «Русский бисквит» даёт суммы 110 429 113,15 и 106 311 116,46 руб., а точная группа 62.01 ↔ 60.01 составляет 106 311 116,46 руб. - **THEN** точная группа присутствует в `matched`, остальные три строки стороны A — в `unpaired`, `eliminated_amount = 106311116.46`, расхождение округляется до 3,87 %. #### Scenario: Ручное правило и превышение порога - **WHEN** правило ручное либо расхождение больше 5 % - **THEN** `eliminated_amount = 0`, независимо от результата упаковки.