{
    "kind": "front-php-real-adapter-v1",
    "started": "2026-10-24T08:46:10+08:00",
    "checks": [
        {
            "name": "actual_adapter_table_metadata",
            "source": "application/cores/database/Dm.php",
            "status": "pass",
            "detail": {
                "tables": 284
            }
        },
        {
            "name": "fixed_user_read",
            "source": "common/service/zywxb/Config.php::fixedUser",
            "status": "pass",
            "detail": {
                "id": 2,
                "type": 1
            }
        },
        {
            "name": "fixed_user_actual_menu_tree",
            "source": "model/User.php::getUserOwnSysMenus",
            "status": "pass",
            "detail": {
                "resolved_menu_rows": 19
            }
        },
        {
            "name": "fixed_user_restaurant_permission",
            "source": "model/User.php::getUserOwnRestaurantIds + actual user_data row",
            "status": "pass",
            "detail": {
                "allowed_restaurant_ids": [
                    "1"
                ],
                "account_type": 1,
                "grant_uses_real_uuid": true,
                "approval_date": "2026-10-24"
            }
        },
        {
            "name": "actual_controller_restaurant_permission_boundary",
            "source": "base/AdminController.php::hasRestaurantPermission",
            "status": "pass",
            "detail": {
                "restaurant_1": true,
                "restaurant_2": false
            }
        },
        {
            "name": "fixed_user_real_null_validity",
            "source": "ydy_user fields + p/logic/Login.php::assertAccountUsable",
            "status": "pass",
            "detail": {
                "real_null_bounds": true,
                "login_validity_accepted": true,
                "approval_date": "2026-10-24"
            }
        },
        {
            "name": "fixed_user_original_role_menu_membership",
            "source": "ydy_user_role/ydy_role_menu original upgraded source fingerprints",
            "status": "pass",
            "detail": {
                "roles": 1,
                "role_menu_assignments": 18,
                "source_fingerprint_matches": true
            }
        },
        {
            "name": "null_useful_period_current_login_policy",
            "source": "p/logic/Login.php::assertAccountUsable",
            "status": "pass",
            "detail": {
                "null_unlimited": true,
                "zero_date_rejected": true,
                "behavior_change_user_approved": "2026-10-24"
            }
        },
        {
            "name": "dish_list_pagination",
            "source": "model/Cater.php + BaseModel::inquiry",
            "status": "pass",
            "detail": {
                "rows": 10
            }
        },
        {
            "name": "food_composition_list",
            "source": "p/logic/Food.php::lists",
            "status": "pass",
            "detail": {
                "rows": 10
            }
        },
        {
            "name": "recipe_real_raw_join",
            "source": "model/Bill.php::bill_list",
            "status": "pass",
            "detail": {
                "rows": 38
            }
        },
        {
            "name": "recipe_calendar_group",
            "source": "model/Bill.php::timer_shaft",
            "status": "pass",
            "detail": {
                "dates": 22
            }
        },
        {
            "name": "recipe_category_aggregate",
            "source": "model/Bill.php::bill_number",
            "status": "pass",
            "detail": {
                "groups": 9
            }
        },
        {
            "name": "nutrition_export_real_select",
            "source": "model/Dishes.php::idInquiryAll",
            "status": "pass",
            "detail": {
                "rows": 5262
            }
        },
        {
            "name": "restaurant_pdo_case_normalizer",
            "source": "p/logic/Restaurant.php::normalizeRestaurantResponseRow",
            "status": "pass",
            "detail": {
                "legacy_keys_present": true
            }
        },
        {
            "name": "bill_zhipan_direct_model_case_contract",
            "source": "p/logic/Bill.php::zhipanApi + actual Restaurants model; HTTP/sign/log intercepted",
            "status": "pass",
            "detail": {
                "actual_model_read": true,
                "actual_logic_called": true,
                "term_key_url_match": true,
                "http_stub_calls": 1,
                "external_network_requests": 0,
                "sensitive_values_emitted": false
            }
        },
        {
            "name": "restaurant_analysis_dishes_cook_method",
            "source": "model/Restaurant.php::dishes_cook_method",
            "status": "pass",
            "detail": {
                "groups": 22
            }
        },
        {
            "name": "future_pal_float31_boundary_expressions",
            "source": "common/service/MetabolismPalFloat31.php + source-backed test oracles",
            "status": "pass",
            "detail": {
                "cases": 9,
                "mode": "helper plus real DM SELECT only",
                "dml": 0,
                "full_application_write_path_verified": false
            }
        },
        {
            "name": "future_date_menu_float32_boundary_expressions",
            "source": "common/service/DateMenuFloat32.php + DateMenuFloat32WriteTest",
            "status": "pass",
            "detail": {
                "cases": 3,
                "dml": 0,
                "full_application_write_path_verified": false
            }
        },
        {
            "name": "recipe_update_rollback",
            "source": "model/BaseModel.php::modifyById + DM transaction",
            "status": "pass",
            "detail": {
                "updated_rows": 1,
                "rolled_back": true,
                "all_row_fields_unchanged": true
            }
        },
        {
            "name": "price_comparison_hcgj",
            "status": "skip",
            "reason": "Customer independent hcgj DB not supplied; no fabricated target"
        },
        {
            "name": "external_devices_printing_http",
            "status": "skip",
            "reason": "No external HTTP/queue consumers in isolated acceptance"
        },
        {
            "name": "browser_excel_render_and_upload",
            "status": "skip",
            "reason": "This runner validates SQL/model behavior, not rendered web UI or uploaded spreadsheet workflow"
        }
    ],
    "external_http_performed": false,
    "redis_used": false,
    "production_target_allowed": false,
    "schema": "FRONT24_APP2",
    "build": "--03134284488-20260212-314192-20200",
    "passed": 20,
    "failed": 0,
    "skipped": 3,
    "accepted": false,
    "finished": "2026-10-24T08:46:10+08:00"
}