{
    "ok": true,
    "readiness": {
        "version": "4.0.47-guild-route-conflict-removal",
        "base_phase": "Phase 38.3 live action wiring",
        "score": 100,
        "ready": 18,
        "total": 18,
        "checks": {
            "phase36_bridge": {
                "ready": true,
                "label": "Phase 36 player bridge available",
                "route": "app"
            },
            "phase37_actions": {
                "ready": true,
                "label": "Phase 37 player actions service available",
                "route": "api/v1/player-actions/readiness"
            },
            "phase37_hardening": {
                "ready": true,
                "label": "Phase 37.1 action hardening service available",
                "route": "api/v1/player-actions/hardening-readiness"
            },
            "phase37_engine": {
                "ready": true,
                "label": "Phase 37.2 gameplay engine service available",
                "route": "api/v1/player-actions/engine-readiness"
            },
            "phase37_live_readiness": {
                "ready": true,
                "label": "Phase 37.3 live verification service available",
                "route": "api/v1/player-actions/live-readiness"
            },
            "phase38_view": {
                "ready": true,
                "label": "Polished player shell view installed",
                "route": "app"
            },
            "phase38_css": {
                "ready": true,
                "label": "Responsive player UX stylesheet available",
                "route": "public/assets/css/app.css"
            },
            "phase38_js": {
                "ready": true,
                "label": "Player UX JavaScript available",
                "route": "public/assets/js/app.js"
            },
            "phase38_1_flow": {
                "ready": true,
                "label": "Phase 38.1 interaction flow layer available",
                "route": "api/v1/player-ux/flow"
            },
            "phase38_2_deep": {
                "ready": true,
                "label": "Phase 38.2 deep screen polish available",
                "route": "api/v1/player-ux/deep-screen"
            },
            "phase38_3_live_wiring": {
                "ready": true,
                "label": "Phase 38.3 live action wiring available",
                "route": "api/v1/player-ux/live-wiring"
            },
            "phase38_4_quality": {
                "ready": true,
                "label": "Phase 38.4 UX quality/accessibility/performance polish available",
                "route": "api/v1/player-ux/quality-report"
            },
            "phase38_5_launch": {
                "ready": true,
                "label": "Phase 38.5 demo journey and launch preview available",
                "route": "api/v1/player-ux/demo-journey"
            },
            "phase40_4_public_player_view": {
                "ready": true,
                "label": "Phase 40.4 public player view release UI available",
                "route": "app"
            },
            "phase40_5_public_dashboard": {
                "ready": true,
                "label": "Phase 40.5 public dashboard command-centre UI available",
                "route": "dashboard"
            },
            "phase40_7_dashboard_header_nav": {
                "ready": true,
                "label": "Phase 40.7 consolidated public dashboard header navigation available",
                "route": "dashboard"
            },
            "mobile_nav": {
                "ready": true,
                "label": "Top HUD and bottom nav model available",
                "route": "app"
            },
            "unity_parity_notes": {
                "ready": true,
                "label": "Unity/mobile parity metadata available",
                "route": "api/v1/player-ux/unity-parity"
            }
        },
        "phase36": {
            "score": 100,
            "ready": 28,
            "total": 28,
            "checks": {
                "player_dashboard": {
                    "ready": true,
                    "route": "dashboard",
                    "label": "dashboard",
                    "missing": []
                },
                "collection_api": {
                    "ready": true,
                    "route": "api/v1/collection",
                    "label": "api/v1/collection",
                    "missing": []
                },
                "card_detail_history": {
                    "ready": true,
                    "route": "card",
                    "label": "card",
                    "missing": []
                },
                "squad_builder": {
                    "ready": true,
                    "route": "squad",
                    "label": "squad",
                    "missing": []
                },
                "pack_shop": {
                    "ready": true,
                    "route": "shop",
                    "label": "shop",
                    "missing": []
                },
                "pack_opening_proof": {
                    "ready": true,
                    "route": "inventory/proof",
                    "label": "inventory/proof",
                    "missing": []
                },
                "wallet_ledger": {
                    "ready": true,
                    "route": "app/wallet",
                    "label": "app/wallet",
                    "missing": []
                },
                "marketplace": {
                    "ready": true,
                    "route": "market",
                    "label": "market",
                    "missing": []
                },
                "trades": {
                    "ready": true,
                    "route": "trades",
                    "label": "trades",
                    "missing": []
                },
                "auctions": {
                    "ready": true,
                    "route": "market",
                    "label": "market",
                    "missing": []
                },
                "battle": {
                    "ready": true,
                    "route": "battle",
                    "label": "battle",
                    "missing": []
                },
                "guilds": {
                    "ready": true,
                    "route": "guilds",
                    "label": "guilds",
                    "missing": []
                },
                "social_feed": {
                    "ready": true,
                    "route": "social",
                    "label": "social",
                    "missing": []
                },
                "notifications": {
                    "ready": true,
                    "route": "live/inbox",
                    "label": "live/inbox",
                    "missing": []
                },
                "missions": {
                    "ready": true,
                    "route": "live",
                    "label": "live",
                    "missing": []
                },
                "onboarding": {
                    "ready": true,
                    "route": "experience",
                    "label": "experience",
                    "missing": []
                },
                "profile": {
                    "ready": true,
                    "route": "profile",
                    "label": "profile",
                    "missing": []
                },
                "settings": {
                    "ready": true,
                    "route": "settings",
                    "label": "settings",
                    "missing": []
                },
                "support": {
                    "ready": true,
                    "route": "support",
                    "label": "support",
                    "missing": []
                },
                "cms_news_help": {
                    "ready": true,
                    "route": "content",
                    "label": "content",
                    "missing": []
                },
                "events": {
                    "ready": true,
                    "route": "live",
                    "label": "live",
                    "missing": []
                },
                "stadium_world": {
                    "ready": true,
                    "route": "stadiums",
                    "label": "stadiums",
                    "missing": []
                },
                "idempotency": {
                    "ready": true,
                    "route": "api/v1/player-app/action-check",
                    "label": "api/v1/player-app/action-check",
                    "missing": []
                },
                "transaction_locking": {
                    "ready": true,
                    "label": "Database::transaction plus FOR UPDATE is available",
                    "missing": []
                },
                "ledger_enforcement": {
                    "ready": true,
                    "route": "app/wallet",
                    "label": "app/wallet",
                    "missing": []
                },
                "error_empty_states": {
                    "ready": true,
                    "label": "Phase 36 player shell includes action cards, empty states, and screen fallbacks",
                    "missing": []
                },
                "install_checker": {
                    "ready": true,
                    "route": "install",
                    "label": "install",
                    "missing": []
                },
                "testing_docs": {
                    "ready": true,
                    "label": "Phase 36 docs and testing checklist",
                    "missing": []
                }
            }
        },
        "next": [
            "Run migrations 049-058 on the server.",
            "Open /app and each major screen on mobile width.",
            "Run /api/v1/player-actions/live-readiness before enabling public play.",
            "Use Phase 37.2 integration self-test to verify real writes before production."
        ]
    }
}