{
    "kind": "two-menu-real-dm-v2",
    "started": "2026-10-24T11:32:01+08:00",
    "checks": [
        {
            "name": "utf8_real_database_bytes",
            "source": "PHP PDO_DM insert\/read plus server HEX oracle",
            "status": "pass",
            "detail": {
                "chinese": true,
                "supplementary_unicode": true,
                "server_bytes_equal": true
            }
        },
        {
            "name": "legacy_config_save",
            "source": "Equipment::plateUpdate",
            "status": "pass",
            "detail": {
                "saved": true
            }
        },
        {
            "name": "legacy_config_read_four_images",
            "source": "Equipment::plateDetail",
            "status": "pass",
            "detail": {
                "images": 4
            }
        },
        {
            "name": "legacy_meal_1",
            "source": "Plate::dishes + actual Common::mealTimes",
            "status": "pass",
            "detail": {
                "meal": 1
            }
        },
        {
            "name": "legacy_meal_2",
            "source": "Plate::dishes + actual Common::mealTimes",
            "status": "pass",
            "detail": {
                "meal": 2
            }
        },
        {
            "name": "legacy_meal_3",
            "source": "Plate::dishes + actual Common::mealTimes",
            "status": "pass",
            "detail": {
                "meal": 3
            }
        },
        {
            "name": "legacy_meal_4",
            "source": "Plate::dishes + actual Common::mealTimes",
            "status": "pass",
            "detail": {
                "meal": 4
            }
        },
        {
            "name": "legacy_missing_date",
            "source": "Plate::dishes",
            "status": "pass",
            "detail": []
        },
        {
            "name": "legacy_missing_device",
            "source": "Plate::dishes",
            "status": "pass",
            "detail": {
                "denied": true
            }
        },
        {
            "name": "legacy_saved_image_edit_takes_effect",
            "source": "Equipment::plateUpdate\/plateDetail + Plate::dishes",
            "status": "pass",
            "detail": {
                "restored_original_fixture": true
            }
        },
        {
            "name": "legacy_zero_and_missing_file_return_empty",
            "source": "Equipment::plateUpdate + Plate::dishes",
            "status": "pass",
            "detail": {
                "cases": 2
            }
        },
        {
            "name": "legacy_deleted_file_return_empty",
            "source": "Plate::dishes + UploadFile",
            "status": "pass",
            "detail": []
        },
        {
            "name": "legacy_wrong_device_type_and_deleted_denied",
            "source": "Plate::plateInfo",
            "status": "pass",
            "detail": {
                "cases": 2
            }
        },
        {
            "name": "new_save",
            "source": "ElectronicMenu::save",
            "status": "pass",
            "detail": {
                "saved": true
            }
        },
        {
            "name": "new_list_scoped",
            "source": "ElectronicMenu::lists",
            "status": "pass",
            "detail": {
                "fresh_menu_present": true
            }
        },
        {
            "name": "new_play_meal_1",
            "source": "ElectronicMenu::play\/buildPayload\/loadDishes",
            "status": "pass",
            "detail": {
                "meal": 1,
                "dish_count": 1,
                "fields_verified": 8
            }
        },
        {
            "name": "new_play_meal_2",
            "source": "ElectronicMenu::play\/buildPayload\/loadDishes",
            "status": "pass",
            "detail": {
                "meal": 2,
                "dish_count": 1,
                "fields_verified": 8
            }
        },
        {
            "name": "new_play_meal_3",
            "source": "ElectronicMenu::play\/buildPayload\/loadDishes",
            "status": "pass",
            "detail": {
                "meal": 3,
                "dish_count": 1,
                "fields_verified": 8
            }
        },
        {
            "name": "new_play_meal_4",
            "source": "ElectronicMenu::play\/buildPayload\/loadDishes",
            "status": "pass",
            "detail": {
                "meal": 4,
                "dish_count": 1,
                "fields_verified": 8
            }
        },
        {
            "name": "new_wrong_date_empty",
            "source": "ElectronicMenu::play",
            "status": "pass",
            "detail": []
        },
        {
            "name": "new_other_restaurant_denied",
            "source": "ElectronicMenu::preview",
            "status": "pass",
            "detail": []
        },
        {
            "name": "new_other_store_denied",
            "source": "ElectronicMenu::detail",
            "status": "pass",
            "detail": []
        },
        {
            "name": "new_update_keeps_token_copy_changes_token",
            "source": "ElectronicMenu::save\/copy",
            "status": "pass",
            "detail": []
        },
        {
            "name": "new_wrong_token_and_disabled_or_deleted_menu",
            "source": "ElectronicMenu::play",
            "status": "pass",
            "detail": {
                "cases": 4
            }
        },
        {
            "name": "new_dual_stall_left_clock_and_permission",
            "source": "ElectronicMenu::save\/play\/lists\/detail",
            "status": "pass",
            "detail": {
                "dual_stalls": 2,
                "right_uses_left_clock": true
            }
        },
        {
            "name": "new_recipe_date_meal_and_dish_status_filters",
            "source": "ElectronicMenu::play\/loadDishes",
            "status": "pass",
            "detail": {
                "excluded_cases": 4
            }
        },
        {
            "name": "device_bind_and_read",
            "source": "ElectronicMenuDevice::createBindCode\/activate\/config",
            "status": "pass",
            "detail": {
                "tokens_not_emitted": true
            }
        },
        {
            "name": "device_code_single_use",
            "source": "ElectronicMenuDevice::activate",
            "status": "pass",
            "detail": []
        },
        {
            "name": "device_wrong_token_denied",
            "source": "ElectronicMenuDevice::config",
            "status": "pass",
            "detail": []
        },
        {
            "name": "device_logs_roundtrip",
            "source": "ElectronicMenuDevice::collectLogs\/logs",
            "status": "pass",
            "detail": {
                "sanitized": true
            }
        },
        {
            "name": "device_config_version_refresh_no_token_echo",
            "source": "ElectronicMenuDevice::config",
            "status": "pass",
            "detail": {
                "version_changed": true,
                "token_not_echoed": true
            }
        },
        {
            "name": "device_wrong_id_and_management_scope_denied",
            "source": "ElectronicMenuDevice::config\/devices\/logs\/unbind",
            "status": "pass",
            "detail": {
                "cases": 5,
                "state_unchanged": true
            }
        },
        {
            "name": "device_unbind_invalidates_token",
            "source": "ElectronicMenuDevice::unbind\/config",
            "status": "pass",
            "detail": []
        },
        {
            "name": "device_expired_code_denied",
            "source": "ElectronicMenuDevice::activate",
            "status": "pass",
            "detail": []
        },
        {
            "name": "device_rebind_reuses_row_rotates_token",
            "source": "ElectronicMenuDevice::activate",
            "status": "pass",
            "detail": {
                "row_reused": true,
                "old_token_rejected": true
            }
        },
        {
            "name": "device_bind_code_refresh_and_disabled_menu_rollback",
            "source": "ElectronicMenuDevice::createBindCode\/activate",
            "status": "pass",
            "detail": {
                "claim_rolled_back": true,
                "device_rows_unchanged": true
            }
        },
        {
            "name": "device_disabled_menu_and_device_reject_config",
            "source": "ElectronicMenuDevice::config",
            "status": "pass",
            "detail": {
                "cases": 2
            }
        }
    ],
    "external_http_performed": false,
    "redis_used": false,
    "production_target_allowed": false,
    "schema": "FRONT24_SIGN2",
    "build": "--03134284488-20260212-314192-20200",
    "scope": {
        "real_dm_service_calls": true,
        "new_controller_menu_authorization_tested": false,
        "old_model_cross_store_isolation_tested": false,
        "concurrent_activation_tested": false,
        "http_image_or_screen_tested": false
    },
    "passed": 37,
    "failed": 0,
    "complete_bounded_service_suite": true,
    "customer_ui_or_authorization_accepted": false,
    "complete": true,
    "synthetic_only": true,
    "customer_http_or_device_access": false,
    "finished": "2026-10-24T11:32:02+08:00"
}