Проверить карточку до и после команды публикации

Ответы получены от MySQL через X Protocol. Созданные программой учебные объекты после чтения удалены.

Наблюдаемый результат программы
НаблюдениеРезультат
Цена до подготовки, коп.12000
Цена до execute, коп.12000
Статус до executedraft
Цена после execute, коп.13500
Статус после executepublished
Остаток сохранён3
Соседняя карточка не измениласьда
Найдено для изменения LED1
Найдено для отсутствующего ID0
Строки и дополнительные наблюдения
{
    "before": {
        "_id": "LED",
        "sku": "LED",
        "name": "LED-лампа",
        "state": "draft",
        "stock": 3,
        "price_kopecks": 12000
    },
    "after_preparation": {
        "_id": "LED",
        "sku": "LED",
        "name": "LED-лампа",
        "state": "draft",
        "stock": 3,
        "price_kopecks": 12000
    },
    "after_execute": {
        "_id": "LED",
        "sku": "LED",
        "name": "LED-лампа",
        "state": "published",
        "stock": 3,
        "price_kopecks": 13500
    },
    "neighbor_before": {
        "_id": "CABLE",
        "sku": "CABLE",
        "name": "Кабель",
        "state": "published",
        "stock": 8,
        "price_kopecks": 5000
    },
    "neighbor_after": {
        "_id": "CABLE",
        "sku": "CABLE",
        "name": "Кабель",
        "state": "published",
        "stock": 8,
        "price_kopecks": 5000
    },
    "command_class": "mysql_xdevapi\\CollectionModify",
    "receipt_class": "mysql_xdevapi\\Result",
    "affected": 1,
    "missing_affected": 0,
    "after_missing": {
        "_id": "LED",
        "sku": "LED",
        "name": "LED-лампа",
        "state": "published",
        "stock": 3,
        "price_kopecks": 13500
    }
}

Полный JSON результата, включая реальные идентификаторы, сохранён рядом в result.json.