Отклонить черновую партию и сохранить исправленную

Фактические данные получены через расширение interbase от отдельной локальной базы Firebird. Собственная учебная таблица удалена после наблюдений.

Наблюдаемый результат программы
НаблюдениеРезультат
Черновое перемещение на 37 / 5
rollback_ret выполненда
После отмены черновика10 / 2
Принято перемещение на 28 / 4
После окончательного commit8 / 4
Общий остаток12
Строки и дополнительные наблюдения
{
    "before": [
        10,
        2
    ],
    "rejected_draft": [
        {
            "warehouse_id": 1,
            "qty": 7
        },
        {
            "warehouse_id": 2,
            "qty": 5
        }
    ],
    "after_rollback_ret": [
        {
            "warehouse_id": 1,
            "qty": 10
        },
        {
            "warehouse_id": 2,
            "qty": 2
        }
    ],
    "accepted_batch": [
        {
            "warehouse_id": 1,
            "qty": 8
        },
        {
            "warehouse_id": 2,
            "qty": 4
        }
    ],
    "committed_rows": [
        {
            "warehouse_id": 1,
            "qty": 8
        },
        {
            "warehouse_id": 2,
            "qty": 4
        }
    ]
}

Самостоятельный запуск создаёт result.json с данными и metrics.json с проверками рядом с example.php.