Andrey Epifancev 8940f32ae3 fix: пары ВГО — суммы со знаком, процент в упаковке, deviation_amount (ревью #175, AURORA-1536)
- суммы сторон со знаком, как в шахматке; строки с суммой < 0 в упаковку не идут, причина NEGATIVE_AMOUNT;
  при min(ΣA, ΣB) ≤ 0 процент null и элиминация 0, статус списка AUTO — только при элиминации > 0
- группы одного размера выбираются по проценту расхождения к меньшей сумме (точной дробью), ничья — по равному проценту
- elimination_amount группы и тройки переименован в deviation_amount; version_no тройки обязателен
- суммы и проценты пар в JSON — с двумя знаками
- elimination-pairs по правилу с measure ≠ closing — 422 INVALID_RULE
- дельта спеки, design.md (R-7, R-8), tasks, README

make check-full: exit 0 (1896 passed; integration 990 passed).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 21:47:47 +04:00

1.2 KiB
Raw Blame History

Реализация

  • Чистый расчёт итога тройки и тесты порога, ручного режима и нулевой стороны.
  • Реальные строки правила № 6 (точная пара и строки без пары) по golden ОСВ; 42 млн по правилу № 4; ничья упаковки; обратная пара.
  • Фиксация версии правил при создании версии; DBML v5.23, миграция 0010_dbml_v5_23 и её тесты; 409 ELIMINATION_RULES_MISSING.
  • Список троек версии GET …/elimination-totals и тест на тех же данных, что и тройка.
  • OpenSpec-дельта, README, 05-domain-rules.md §5 и гайд фронта (arm-ka-docs #164).
  • Суммы сторон со знаком, NEGATIVE_AMOUNT, сортировка групп по проценту, deviation_amount у группы и тройки, суммы с двумя знаками, правило с measure ≠ closing — 422 INVALID_RULE (раунд ревью 1; доделано в ветке PR сами).
  • make check-full и архив change.