{
    "ok": true,
    "snapshot": {
        "installed": true,
        "version": "3.3.0-bot-economy-production-hardening-live-validation",
        "state": {
            "id": "1",
            "director_enabled": "1",
            "dry_run_enabled": "0",
            "quiet_mode_enabled": "0",
            "marketplace_enabled": "1",
            "battles_enabled": "1",
            "trades_enabled": "1",
            "guilds_enabled": "1",
            "social_enabled": "1",
            "packs_enabled": "1",
            "event_mode_enabled": "1",
            "shadow_balancing_enabled": "1",
            "market_maker_enabled": "1",
            "bot_to_bot_enabled": "1",
            "anti_pattern_enabled": "1",
            "max_actions_per_hour": "80",
            "max_pack_openings_per_day": "70",
            "max_legendary_pulls_per_day": "4",
            "max_trades_per_day": "90",
            "max_listings_per_day": "130",
            "max_comments_per_hour": "45",
            "bot_player_ratio_warning": "4.00",
            "health_target_score": "70",
            "last_tick_at": null,
            "last_health_json": null,
            "last_decision_json": null,
            "created_at": "2026-07-02 11:09:37",
            "updated_at": "2026-07-02 11:09:37"
        },
        "scores": [],
        "active_interventions": [],
        "recent_interventions": [],
        "segments": [
            {
                "id": "4",
                "segment_key": "traders",
                "name": "Market Traders",
                "description": "Bots that list, buy, bid and create value-aware trade offers.",
                "target_percent": "16.00",
                "activity_multiplier": "1.30",
                "enabled": "1",
                "lifecycle_state": "market_specialist",
                "bot_type_hint": "trader",
                "director_weight": "80",
                "settings_json": "{\"areas\": [\"marketplace\", \"trades\", \"auction_house\"]}",
                "created_at": "2026-07-02 11:09:37",
                "updated_at": "2026-07-02 11:09:37"
            },
            {
                "id": "7",
                "segment_key": "guild_loyalists",
                "name": "Guild Loyalists",
                "description": "Bots that revive guild chat, donations, war participation and recruitment.",
                "target_percent": "10.00",
                "activity_multiplier": "1.25",
                "enabled": "1",
                "lifecycle_state": "guild_loyalist",
                "bot_type_hint": "guild_leader",
                "director_weight": "75",
                "settings_json": "{\"areas\": [\"guilds\", \"social_feed\", \"battles\"]}",
                "created_at": "2026-07-02 11:09:37",
                "updated_at": "2026-07-02 11:09:37"
            },
            {
                "id": "3",
                "segment_key": "grinders",
                "name": "Daily Grinders",
                "description": "Bots that battle, donate, complete goals and keep daily activity moving.",
                "target_percent": "18.00",
                "activity_multiplier": "1.35",
                "enabled": "1",
                "lifecycle_state": "active_user",
                "bot_type_hint": "grinder",
                "director_weight": "70",
                "settings_json": "{\"areas\": [\"battles\", \"guilds\", \"social_feed\"]}",
                "created_at": "2026-07-02 11:09:37",
                "updated_at": "2026-07-02 11:09:37"
            },
            {
                "id": "1",
                "segment_key": "new_users",
                "name": "New User Simulators",
                "description": "Beginner-style bots that keep early queues, trades and guilds welcoming.",
                "target_percent": "12.00",
                "activity_multiplier": "1.10",
                "enabled": "1",
                "lifecycle_state": "new_user",
                "bot_type_hint": "rookie",
                "director_weight": "70",
                "settings_json": "{\"areas\": [\"battles\", \"social_feed\", \"trades\"]}",
                "created_at": "2026-07-02 11:09:37",
                "updated_at": "2026-07-02 11:09:37"
            },
            {
                "id": "8",
                "segment_key": "rivals",
                "name": "Rivals and Rematchers",
                "description": "Bots that build relationships, challenge players and post short rivalry comments.",
                "target_percent": "8.00",
                "activity_multiplier": "1.20",
                "enabled": "1",
                "lifecycle_state": "battle_specialist",
                "bot_type_hint": "rival",
                "director_weight": "65",
                "settings_json": "{\"areas\": [\"battles\", \"social_feed\"]}",
                "created_at": "2026-07-02 11:09:37",
                "updated_at": "2026-07-02 11:09:37"
            },
            {
                "id": "5",
                "segment_key": "collectors",
                "name": "Album Collectors",
                "description": "Bots that chase missing cards, trade duplicates and post collection progress.",
                "target_percent": "14.00",
                "activity_multiplier": "1.05",
                "enabled": "1",
                "lifecycle_state": "active_user",
                "bot_type_hint": "collector",
                "director_weight": "60",
                "settings_json": "{\"areas\": [\"packs\", \"trades\", \"marketplace\"]}",
                "created_at": "2026-07-02 11:09:37",
                "updated_at": "2026-07-02 11:09:37"
            },
            {
                "id": "6",
                "segment_key": "premium",
                "name": "Premium Pack Openers",
                "description": "High-budget NPCs with strict rarity and injection caps.",
                "target_percent": "4.00",
                "activity_multiplier": "1.15",
                "enabled": "1",
                "lifecycle_state": "whale_style",
                "bot_type_hint": "premium",
                "director_weight": "55",
                "settings_json": "{\"areas\": [\"packs\", \"marketplace\", \"social_feed\"]}",
                "created_at": "2026-07-02 11:09:37",
                "updated_at": "2026-07-02 11:09:37"
            },
            {
                "id": "2",
                "segment_key": "casuals",
                "name": "Casual Returners",
                "description": "Bots that log in irregularly, react, open small packs and occasionally battle.",
                "target_percent": "18.00",
                "activity_multiplier": "0.75",
                "enabled": "1",
                "lifecycle_state": "casual_user",
                "bot_type_hint": "casual",
                "director_weight": "45",
                "settings_json": "{\"areas\": [\"social_feed\", \"packs\"]}",
                "created_at": "2026-07-02 11:09:37",
                "updated_at": "2026-07-02 11:09:37"
            }
        ],
        "market_rules": [
            {
                "id": "1",
                "rarity": "common",
                "min_active_listings": "28",
                "max_active_listings": "260",
                "target_price_floor": "20",
                "target_price_ceiling": "2200",
                "max_daily_bot_buys": "50",
                "max_daily_bot_lists": "90",
                "scarcity_weight": "20",
                "enabled": "1",
                "created_at": "2026-07-02 11:09:37",
                "updated_at": "2026-07-02 11:09:37"
            },
            {
                "id": "2",
                "rarity": "rare",
                "min_active_listings": "18",
                "max_active_listings": "180",
                "target_price_floor": "400",
                "target_price_ceiling": "12000",
                "max_daily_bot_buys": "35",
                "max_daily_bot_lists": "65",
                "scarcity_weight": "35",
                "enabled": "1",
                "created_at": "2026-07-02 11:09:37",
                "updated_at": "2026-07-02 11:09:37"
            },
            {
                "id": "3",
                "rarity": "super_rare",
                "min_active_listings": "12",
                "max_active_listings": "120",
                "target_price_floor": "1200",
                "target_price_ceiling": "28000",
                "max_daily_bot_buys": "25",
                "max_daily_bot_lists": "45",
                "scarcity_weight": "50",
                "enabled": "1",
                "created_at": "2026-07-02 11:09:37",
                "updated_at": "2026-07-02 11:09:37"
            },
            {
                "id": "4",
                "rarity": "epic",
                "min_active_listings": "5",
                "max_active_listings": "55",
                "target_price_floor": "6000",
                "target_price_ceiling": "90000",
                "max_daily_bot_buys": "12",
                "max_daily_bot_lists": "20",
                "scarcity_weight": "75",
                "enabled": "1",
                "created_at": "2026-07-02 11:09:37",
                "updated_at": "2026-07-02 11:09:37"
            },
            {
                "id": "6",
                "rarity": "event",
                "min_active_listings": "2",
                "max_active_listings": "24",
                "target_price_floor": "8000",
                "target_price_ceiling": "320000",
                "max_daily_bot_buys": "5",
                "max_daily_bot_lists": "8",
                "scarcity_weight": "90",
                "enabled": "1",
                "created_at": "2026-07-02 11:09:37",
                "updated_at": "2026-07-02 11:09:37"
            },
            {
                "id": "5",
                "rarity": "legendary",
                "min_active_listings": "1",
                "max_active_listings": "16",
                "target_price_floor": "28000",
                "target_price_ceiling": "250000",
                "max_daily_bot_buys": "4",
                "max_daily_bot_lists": "7",
                "scarcity_weight": "95",
                "enabled": "1",
                "created_at": "2026-07-02 11:09:37",
                "updated_at": "2026-07-02 11:09:37"
            }
        ],
        "rivalries": [],
        "shadow_queue": [],
        "warnings": [],
        "world_stories": [],
        "audit": [],
        "phase29_personality": {
            "installed": true,
            "version": "2.9.0-bot-personality-rivalry-social-depth",
            "enabled": true,
            "counts": {
                "personality_profiles": 0,
                "online_now": 0,
                "social_circles": 4,
                "rival_challenges": 0,
                "inbox_events": 0,
                "open_suspicion": 0,
                "missions_today": 0,
                "achievement_events": 0,
                "stadium_activity": 0,
                "notifications_hour": 0
            },
            "reputation": [],
            "presence": [],
            "social_circles": [
                {
                    "id": "1",
                    "circle_key": "market_night_shift",
                    "name": "Market Night Shift",
                    "circle_type": "market_group",
                    "tone_style": "trader",
                    "status": "active",
                    "meta_json": "{\"phase\": 29}",
                    "created_at": "2026-07-03 01:18:55",
                    "updated_at": "2026-07-03 01:18:55",
                    "member_count": "0"
                },
                {
                    "id": "2",
                    "circle_key": "pack_pull_watchers",
                    "name": "Pack Pull Watchers",
                    "circle_type": "collector_group",
                    "tone_style": "hype",
                    "status": "active",
                    "meta_json": "{\"phase\": 29}",
                    "created_at": "2026-07-03 01:18:55",
                    "updated_at": "2026-07-03 01:18:55",
                    "member_count": "0"
                },
                {
                    "id": "3",
                    "circle_key": "guild_grinders",
                    "name": "Guild Grinders",
                    "circle_type": "guildmates",
                    "tone_style": "leader",
                    "status": "active",
                    "meta_json": "{\"phase\": 29}",
                    "created_at": "2026-07-03 01:18:55",
                    "updated_at": "2026-07-03 01:18:55",
                    "member_count": "0"
                },
                {
                    "id": "4",
                    "circle_key": "rematch_crew",
                    "name": "Rematch Crew",
                    "circle_type": "rivals",
                    "tone_style": "competitive",
                    "status": "active",
                    "meta_json": "{\"phase\": 29}",
                    "created_at": "2026-07-03 01:18:55",
                    "updated_at": "2026-07-03 01:18:55",
                    "member_count": "0"
                }
            ],
            "morale": [],
            "careers": [],
            "rival_challenges": [],
            "inbox_events": [],
            "guild_politics": [],
            "market_personalities": [],
            "auction_drama": [],
            "pack_streaks": [],
            "collection_showcases": [],
            "stadium_activity": [],
            "event_storylines": [],
            "daily_missions": [],
            "achievements": [],
            "suspicion": [],
            "notifications": [],
            "onboarding": [],
            "economy_stories": [],
            "leaderboards": [],
            "difficulty": [],
            "heatmap": [],
            "match_history": [],
            "controls": [
                {
                    "control_key": "bot_personality_auction_drama_enabled",
                    "control_value": "1",
                    "value_type": "bool",
                    "description": "Allows auction drama, late bids, budget backouts and auction story hooks.",
                    "updated_at": "2026-07-03 01:18:55"
                },
                {
                    "control_key": "bot_personality_enabled",
                    "control_value": "1",
                    "value_type": "bool",
                    "description": "Enables Phase 29 personality, reputation, rivalry and social depth layer after Phase 28 Director ticks.",
                    "updated_at": "2026-07-03 01:18:55"
                },
                {
                    "control_key": "bot_personality_guild_politics_enabled",
                    "control_value": "1",
                    "value_type": "bool",
                    "description": "Allows guild politics, guild chat prompts, recruit nudges and donation reminders.",
                    "updated_at": "2026-07-03 01:18:55"
                },
                {
                    "control_key": "bot_personality_imperfect_decisions_enabled",
                    "control_value": "1",
                    "value_type": "bool",
                    "description": "Allows bots to make small believable mistakes instead of always acting perfectly.",
                    "updated_at": "2026-07-03 01:18:55"
                },
                {
                    "control_key": "bot_personality_max_notifications_per_hour",
                    "control_value": "18",
                    "value_type": "int",
                    "description": "Maximum bot-triggered user notifications per hour.",
                    "updated_at": "2026-07-03 01:18:55"
                },
                {
                    "control_key": "bot_personality_max_online_percent",
                    "control_value": "36",
                    "value_type": "int",
                    "description": "Maximum percentage of enabled bots allowed to show as online/active at once.",
                    "updated_at": "2026-07-03 01:18:55"
                },
                {
                    "control_key": "bot_personality_notifications_enabled",
                    "control_value": "1",
                    "value_type": "bool",
                    "description": "Allows Phase 29 to queue controlled bot-triggered inbox/notification events for real players.",
                    "updated_at": "2026-07-03 01:18:55"
                },
                {
                    "control_key": "bot_personality_onboarding_enabled",
                    "control_value": "1",
                    "value_type": "bool",
                    "description": "Allows Phase 29 to softly support new players with beginner bots, starter guild invites and first-pack reactions.",
                    "updated_at": "2026-07-03 01:18:55"
                },
                {
                    "control_key": "bot_personality_stadium_enabled",
                    "control_value": "1",
                    "value_type": "bool",
                    "description": "Allows bots to create stadium/world-control movement and stories.",
                    "updated_at": "2026-07-03 01:18:55"
                },
                {
                    "control_key": "bot_personality_suspicion_pause_score",
                    "control_value": "88",
                    "value_type": "int",
                    "description": "Suspicion score where Phase 29 should cool a bot down heavily.",
                    "updated_at": "2026-07-03 01:18:55"
                },
                {
                    "control_key": "bot_personality_suspicion_warning_score",
                    "control_value": "65",
                    "value_type": "int",
                    "description": "Suspicion score where the admin dashboard should warn and slow a bot.",
                    "updated_at": "2026-07-03 01:18:55"
                }
            ]
        },
        "phase30_safeguards": {
            "installed": true,
            "version": "3.0.0-bot-economy-analytics-safeguards-forecasting",
            "enabled": true,
            "settings": {
                "id": "1",
                "enabled": "1",
                "dry_run_default": "1",
                "forecast_horizon_hours": "24",
                "max_bot_player_ratio": "1.75",
                "max_daily_card_injection_json": "{\"Common\": 1000, \"Rare\": 350, \"Super Rare\": 120, \"Epic\": 35, \"Legendary\": 8}",
                "max_daily_coin_movement": "350000",
                "last_tick_at": null,
                "last_readiness_json": null,
                "created_at": "2026-07-03 01:55:04",
                "updated_at": "2026-07-03 01:55:04"
            },
            "counts": {
                "analytics_today": 0,
                "open_forecasts": 0,
                "ledger_warnings": 0,
                "provenance_warnings": 0,
                "reward_rules": 0,
                "active_campaigns": 0,
                "open_safety_events": 0,
                "critical_quality": 0,
                "kill_switches_on": 0,
                "readiness_failures": 0
            },
            "analytics": [],
            "forecasts": [],
            "ledger_guardrails": [],
            "provenance": [],
            "reward_rules": [],
            "transparency_flags": [],
            "moderation": [],
            "experiments": [],
            "personalisation": [],
            "campaigns": [],
            "event_guardrails": [],
            "price_memory": [],
            "liquidity": [],
            "queue": [],
            "churn": [],
            "history_depth": [],
            "highlights": [],
            "safety": [],
            "quality": [],
            "retirement": [],
            "stress_tests": [],
            "timeline": [],
            "kill_switches": [
                {
                    "switch_key": "auction_bots",
                    "category": "auctions",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "battle_bots",
                    "category": "battles",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "rival_bots",
                    "category": "battles",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "inventory_sinks",
                    "category": "economy",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "training_upgrades",
                    "category": "economy",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "event_bots",
                    "category": "events",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "all_bots",
                    "category": "global",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "guild_bots",
                    "category": "guilds",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "leaderboard_bots",
                    "category": "leaderboards",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "featured_activity",
                    "category": "live_ops",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "market_maker_bots",
                    "category": "marketplace",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "marketplace_bots",
                    "category": "marketplace",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "notification_bots",
                    "category": "notifications",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "pack_bots",
                    "category": "packs",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "bot_to_player",
                    "category": "safety",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "social_bots",
                    "category": "social_feed",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "trade_bots",
                    "category": "trades",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "switch_key": "bot_to_bot",
                    "category": "world",
                    "is_enabled": "0",
                    "reason": null,
                    "created_at": "2026-07-03 01:55:04",
                    "updated_at": "2026-07-03 01:55:04"
                }
            ],
            "exploit": [],
            "inventory_sinks": [],
            "training": [],
            "featured": [],
            "stories": [],
            "memory_compression": [],
            "readiness": [],
            "controls": [
                {
                    "control_key": "bot_phase30_bot_player_ratio_warning",
                    "control_value": "1.75",
                    "value_type": "decimal",
                    "description": "Bot/player activity ratio where warnings begin.",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "control_key": "bot_phase30_enabled",
                    "control_value": "1",
                    "value_type": "bool",
                    "description": "Enable Phase 30 analytics, safeguards and forecasting.",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "control_key": "bot_phase30_featured_activity_enabled",
                    "control_value": "1",
                    "value_type": "bool",
                    "description": "Enable safe sponsored/featured activity controls.",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "control_key": "bot_phase30_inventory_sinks_enabled",
                    "control_value": "1",
                    "value_type": "bool",
                    "description": "Enable bot duplicate inventory sink planning.",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "control_key": "bot_phase30_liquidity_enabled",
                    "control_value": "1",
                    "value_type": "bool",
                    "description": "Enable market liquidity scoring.",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "control_key": "bot_phase30_max_coin_movement_per_day",
                    "control_value": "350000",
                    "value_type": "int",
                    "description": "Maximum forecast bot coin movement before delay/reduction.",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "control_key": "bot_phase30_max_legendary_injection_per_day",
                    "control_value": "8",
                    "value_type": "int",
                    "description": "Maximum forecast bot Legendary card injection per day.",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "control_key": "bot_phase30_max_stress_actions",
                    "control_value": "1500",
                    "value_type": "int",
                    "description": "Maximum dry-run actions before stress warning.",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "control_key": "bot_phase30_personalisation_enabled",
                    "control_value": "1",
                    "value_type": "bool",
                    "description": "Enable per-player bot support planning.",
                    "updated_at": "2026-07-03 01:55:04"
                },
                {
                    "control_key": "bot_phase30_queue_optimiser_enabled",
                    "control_value": "1",
                    "value_type": "bool",
                    "description": "Enable bot matchmaking queue optimisation.",
                    "updated_at": "2026-07-03 01:55:04"
                }
            ],
            "audit": []
        },
        "phase31_brain": {
            "installed": true,
            "version": "3.1.0-autonomous-bot-economy-brain",
            "enabled": true,
            "settings": {
                "id": "1",
                "enabled": "1",
                "dry_run_default": "1",
                "active_preset_key": "balanced_world",
                "learning_strength": "45",
                "strategy_switch_threshold": "60",
                "persona_evolution_days": "14",
                "scenario_horizon_days": "7",
                "difficulty_floor": "35",
                "difficulty_ceiling": "85",
                "archive_after_days": "90",
                "last_tick_at": null,
                "last_brain_json": null,
                "created_at": "2026-07-03 07:56:03",
                "updated_at": "2026-07-03 07:56:03"
            },
            "counts": {
                "learning_profiles": 0,
                "strategy_recommended": 0,
                "persona_pending": 0,
                "active_factions": 6,
                "queued_challenges": 0,
                "tutorial_steps": 0,
                "timeline_events_today": 0,
                "archive_jobs": 0
            },
            "presets": [
                {
                    "preset_key": "balanced_world",
                    "name": "Balanced World",
                    "mode_group": "balanced",
                    "activity_multiplier": "1.0000",
                    "market_bias": "50",
                    "battle_bias": "50",
                    "guild_bias": "50",
                    "social_bias": "50",
                    "pack_bias": "45",
                    "protection_level": "70",
                    "settings_json": "{\"note\": \"Default safe autonomous activity.\"}",
                    "is_active": "1",
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03"
                },
                {
                    "preset_key": "economy_protection",
                    "name": "Economy Protection",
                    "mode_group": "safety",
                    "activity_multiplier": "0.6000",
                    "market_bias": "30",
                    "battle_bias": "45",
                    "guild_bias": "35",
                    "social_bias": "35",
                    "pack_bias": "15",
                    "protection_level": "95",
                    "settings_json": "{\"note\": \"Reduces card/coin injection and suspicious pressure.\"}",
                    "is_active": "0",
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03"
                },
                {
                    "preset_key": "event_hype",
                    "name": "Event Hype",
                    "mode_group": "live_ops",
                    "activity_multiplier": "1.2000",
                    "market_bias": "60",
                    "battle_bias": "65",
                    "guild_bias": "60",
                    "social_bias": "75",
                    "pack_bias": "70",
                    "protection_level": "78",
                    "settings_json": "{\"note\": \"Controlled event activity and pack/story energy.\"}",
                    "is_active": "0",
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03"
                },
                {
                    "preset_key": "guild_weekend",
                    "name": "Guild Weekend",
                    "mode_group": "community",
                    "activity_multiplier": "1.1500",
                    "market_bias": "45",
                    "battle_bias": "62",
                    "guild_bias": "82",
                    "social_bias": "58",
                    "pack_bias": "40",
                    "protection_level": "68",
                    "settings_json": "{\"note\": \"Guild chat, donations and wars.\"}",
                    "is_active": "0",
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03"
                },
                {
                    "preset_key": "launch_mode",
                    "name": "Launch Mode",
                    "mode_group": "growth",
                    "activity_multiplier": "1.2500",
                    "market_bias": "55",
                    "battle_bias": "60",
                    "guild_bias": "60",
                    "social_bias": "65",
                    "pack_bias": "50",
                    "protection_level": "65",
                    "settings_json": "{\"note\": \"Beginner support and welcoming world.\"}",
                    "is_active": "0",
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03"
                },
                {
                    "preset_key": "marketplace_boost",
                    "name": "Marketplace Boost",
                    "mode_group": "economy",
                    "activity_multiplier": "1.1000",
                    "market_bias": "78",
                    "battle_bias": "40",
                    "guild_bias": "35",
                    "social_bias": "45",
                    "pack_bias": "35",
                    "protection_level": "72",
                    "settings_json": "{\"note\": \"Liquidity, listings and trade confidence.\"}",
                    "is_active": "0",
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03"
                },
                {
                    "preset_key": "quiet_world",
                    "name": "Quiet World",
                    "mode_group": "quiet",
                    "activity_multiplier": "0.3500",
                    "market_bias": "35",
                    "battle_bias": "35",
                    "guild_bias": "30",
                    "social_bias": "30",
                    "pack_bias": "20",
                    "protection_level": "85",
                    "settings_json": "{\"note\": \"Low activity, high economy protection.\"}",
                    "is_active": "0",
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03"
                }
            ],
            "learning": [],
            "strategy_switches": [],
            "persona": [],
            "scenarios": [],
            "narrative_seasons": [],
            "factions": [
                {
                    "faction_key": "battle_grinders",
                    "name": "Battle Grinders",
                    "faction_type": "battle",
                    "behaviour_bias_json": "{\"battles\": 90, \"leaderboards\": 70, \"social_feed\": 45}",
                    "current_goal": "Keep fair battle pressure around real players.",
                    "activity_score": "66",
                    "status": "active",
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03",
                    "member_count": "0"
                },
                {
                    "faction_key": "card_collectors",
                    "name": "Card Collectors",
                    "faction_type": "collection",
                    "behaviour_bias_json": "{\"packs\": 60, \"trades\": 70, \"collection\": 90}",
                    "current_goal": "Chase album gaps and fair duplicate trades.",
                    "activity_score": "64",
                    "status": "active",
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03",
                    "member_count": "0"
                },
                {
                    "faction_key": "guild_loyalists",
                    "name": "Guild Loyalists",
                    "faction_type": "guild",
                    "behaviour_bias_json": "{\"guilds\": 90, \"battles\": 55, \"social_feed\": 60}",
                    "current_goal": "Keep guilds warm and milestone-driven.",
                    "activity_score": "62",
                    "status": "active",
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03",
                    "member_count": "0"
                },
                {
                    "faction_key": "auction_snipers",
                    "name": "Auction Snipers",
                    "faction_type": "market",
                    "behaviour_bias_json": "{\"auctions\": 85, \"marketplace\": 60, \"social_feed\": 35}",
                    "current_goal": "Create late-auction drama without overbidding.",
                    "activity_score": "58",
                    "status": "active",
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03",
                    "member_count": "0"
                },
                {
                    "faction_key": "stadium_raiders",
                    "name": "Stadium Raiders",
                    "faction_type": "stadiums",
                    "behaviour_bias_json": "{\"stadiums\": 85, \"battles\": 65, \"guilds\": 45}",
                    "current_goal": "Move territory and stadium stories.",
                    "activity_score": "54",
                    "status": "active",
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03",
                    "member_count": "0"
                },
                {
                    "faction_key": "pack_chasers",
                    "name": "Pack Chasers",
                    "faction_type": "packs",
                    "behaviour_bias_json": "{\"packs\": 80, \"social_feed\": 75, \"marketplace\": 45}",
                    "current_goal": "Create controlled pack and showcase energy.",
                    "activity_score": "50",
                    "status": "active",
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03",
                    "member_count": "0"
                }
            ],
            "challenges": [],
            "tutorial": [],
            "difficulty": {
                "id": "1",
                "global_difficulty_score": "55",
                "new_player_difficulty_score": "42",
                "rival_difficulty_score": "65",
                "event_difficulty_score": "60",
                "win_rate_target": "0.5200",
                "adjustment_json": "{\"source\": \"phase31_seed\"}",
                "last_adjusted_at": null,
                "created_at": "2026-07-03 07:56:03",
                "updated_at": "2026-07-03 07:56:03"
            },
            "monetisation_hooks": [
                {
                    "id": "2",
                    "hook_key": "guild_war_weekend_energy",
                    "hook_type": "guild_hype",
                    "target_area": "guilds",
                    "safe_copy_template": "Guilds are making a push this weekend.",
                    "activity_cap_per_day": "10",
                    "no_false_claims": "1",
                    "status": "planned",
                    "starts_at": null,
                    "ends_at": null,
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03"
                },
                {
                    "id": "3",
                    "hook_key": "marketplace_liquidity_hint",
                    "hook_type": "market_hint",
                    "target_area": "marketplace",
                    "safe_copy_template": "A few useful cards are appearing around fair value.",
                    "activity_cap_per_day": "12",
                    "no_false_claims": "1",
                    "status": "planned",
                    "starts_at": null,
                    "ends_at": null,
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03"
                },
                {
                    "id": "1",
                    "hook_key": "event_pack_world_hype",
                    "hook_type": "pack_hype",
                    "target_area": "packs",
                    "safe_copy_template": "Event cards are starting to move through packs and trades.",
                    "activity_cap_per_day": "8",
                    "no_false_claims": "1",
                    "status": "planned",
                    "starts_at": null,
                    "ends_at": null,
                    "created_at": "2026-07-03 07:56:03",
                    "updated_at": "2026-07-03 07:56:03"
                }
            ],
            "season_resets": [],
            "timeline": [],
            "archive_jobs": [],
            "audit": [],
            "controls": [
                {
                    "control_key": "bot_phase31_active_preset",
                    "control_value": "balanced_world",
                    "value_type": "string",
                    "description": "Current bot economy tuning preset key.",
                    "updated_at": "2026-07-03 07:56:03"
                },
                {
                    "control_key": "bot_phase31_archive_after_days",
                    "control_value": "90",
                    "value_type": "int",
                    "description": "Age threshold for low-value bot memories/logs to archive or compress.",
                    "updated_at": "2026-07-03 07:56:03"
                },
                {
                    "control_key": "bot_phase31_dry_run_default",
                    "control_value": "1",
                    "value_type": "bool",
                    "description": "Runs Phase 31 in dry-run/planning mode by default until live tuning is confirmed.",
                    "updated_at": "2026-07-03 07:56:03"
                },
                {
                    "control_key": "bot_phase31_enabled",
                    "control_value": "1",
                    "value_type": "bool",
                    "description": "Enables Phase 31 Autonomous Bot Economy Brain.",
                    "updated_at": "2026-07-03 07:56:03"
                },
                {
                    "control_key": "bot_phase31_learning_strength",
                    "control_value": "45",
                    "value_type": "int",
                    "description": "How strongly the brain responds to bot outcome learning.",
                    "updated_at": "2026-07-03 07:56:03"
                },
                {
                    "control_key": "bot_phase31_max_generated_challenges_per_tick",
                    "control_value": "8",
                    "value_type": "int",
                    "description": "Maximum bot-generated personal challenges queued per Phase 31 tick.",
                    "updated_at": "2026-07-03 07:56:03"
                },
                {
                    "control_key": "bot_phase31_max_tutorial_steps_per_tick",
                    "control_value": "12",
                    "value_type": "int",
                    "description": "Maximum living tutorial steps queued per Phase 31 tick.",
                    "updated_at": "2026-07-03 07:56:03"
                }
            ]
        },
        "phase32_optimisation": {
            "installed": true,
            "version": "3.2.0-live-bot-optimisation-production-control",
            "enabled": true,
            "settings": {
                "id": "1",
                "enabled": "1",
                "dry_run_default": "1",
                "sandbox_mode": "1",
                "active_rollout_key": "v3_2_control",
                "natural_timing_strength": "70",
                "fairness_level": "85",
                "real_player_protection_level": "90",
                "confidence_target": "80",
                "telemetry_retention_days": "90",
                "last_tick_at": null,
                "last_optimisation_json": null,
                "created_at": "2026-07-03 08:26:52",
                "updated_at": "2026-07-03 08:26:52"
            },
            "confidence": null,
            "counts": {
                "feedback_today": 0,
                "effectiveness_scores": 0,
                "attribution_pending": 0,
                "open_alerts": 0,
                "rollback_items": 0,
                "sandbox_runs": 0,
                "telemetry_exports": 0,
                "club_bias_profiles": 0
            },
            "effectiveness": [],
            "funnels": [],
            "timing": [],
            "sessions": [],
            "fairness": [],
            "conflicts": [],
            "alerts": [],
            "calendar": [],
            "rollouts": [
                {
                    "version_key": "v3_2_control",
                    "label": "Phase 32 Production Control",
                    "version_number": "3.2.0",
                    "cohort_key": "production_control",
                    "rollout_percent": "80",
                    "is_active": "1",
                    "safety_notes": "Live optimisation, fairness, sandbox and telemetry rollout.",
                    "created_at": "2026-07-03 08:26:52",
                    "updated_at": "2026-07-03 08:26:52"
                },
                {
                    "version_key": "v3_1_brain",
                    "label": "Phase 31 Brain Legacy",
                    "version_number": "3.1.0",
                    "cohort_key": "stable",
                    "rollout_percent": "20",
                    "is_active": "0",
                    "safety_notes": "Kept as stable fallback rollout.",
                    "created_at": "2026-07-03 08:26:52",
                    "updated_at": "2026-07-03 08:26:52"
                }
            ],
            "telemetry_exports": [],
            "recent_replay": []
        },
        "phase33_hardening": {
            "installed": true,
            "version": "3.3.0-bot-economy-production-hardening-live-validation",
            "enabled": true,
            "settings": {
                "id": "1",
                "enabled": "1",
                "rollout_mode": "dry_run",
                "hard_guardrails_enabled": "1",
                "live_learning_enabled": "1",
                "fail_safe_enabled": "1",
                "readiness_required_score": "85",
                "last_tick_at": null,
                "last_validation_json": null,
                "created_at": "2026-07-03 08:40:30",
                "updated_at": "2026-07-03 08:40:30"
            },
            "rollout_mode": "dry_run",
            "latest_readiness": null,
            "counts": {
                "migration_failures": 0,
                "smoke_failures": 0,
                "blocked_guardrails": 0,
                "player_protection_warnings": 0,
                "rollback_ready": 0,
                "ledger_failures": 0,
                "provenance_failures": 0,
                "quality_warnings": 0,
                "fail_safe_open": 0,
                "launch_gate_failures": 0
            },
            "migrations": [],
            "smoke_tests": [],
            "rollout_modes": [
                {
                    "mode_key": "off",
                    "label": "Off",
                    "description": "No bot actions from the production hardening layer.",
                    "economy_visible": "0",
                    "player_visible": "0",
                    "allowed_actions_json": "[]",
                    "safety_level": "100",
                    "enabled": "1",
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "mode_key": "emergency_safe",
                    "label": "Emergency Safe",
                    "description": "Minimal non-economy actions only while fail-safe is active.",
                    "economy_visible": "0",
                    "player_visible": "1",
                    "allowed_actions_json": "[\"status\", \"readiness\", \"supportive_reaction\"]",
                    "safety_level": "98",
                    "enabled": "1",
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "mode_key": "dry_run",
                    "label": "Dry Run",
                    "description": "Bot decisions are validated and logged only.",
                    "economy_visible": "0",
                    "player_visible": "0",
                    "allowed_actions_json": "[\"verify\", \"smoke\", \"audit\", \"forecast\"]",
                    "safety_level": "95",
                    "enabled": "1",
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "mode_key": "shadow",
                    "label": "Shadow Mode",
                    "description": "Bots act internally but do not surface to players or the economy.",
                    "economy_visible": "0",
                    "player_visible": "0",
                    "allowed_actions_json": "[\"verify\", \"audit\", \"internal_shadow\"]",
                    "safety_level": "90",
                    "enabled": "1",
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "mode_key": "social_only",
                    "label": "Social Only",
                    "description": "Only controlled reactions/comments and no economic action.",
                    "economy_visible": "0",
                    "player_visible": "1",
                    "allowed_actions_json": "[\"social_reaction\", \"social_comment\"]",
                    "safety_level": "85",
                    "enabled": "1",
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "mode_key": "battle_only",
                    "label": "Battle Only",
                    "description": "Only matchmaking support with fair win-rate caps.",
                    "economy_visible": "0",
                    "player_visible": "1",
                    "allowed_actions_json": "[\"battle_queue\", \"rival_challenge\"]",
                    "safety_level": "82",
                    "enabled": "1",
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "mode_key": "limited_live",
                    "label": "Limited Live",
                    "description": "Small capped activity after readiness gates pass.",
                    "economy_visible": "1",
                    "player_visible": "1",
                    "allowed_actions_json": "[\"battle\", \"social_reaction\", \"fair_trade\", \"safe_market\"]",
                    "safety_level": "80",
                    "enabled": "1",
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "mode_key": "market_only",
                    "label": "Market Only",
                    "description": "Only guarded liquidity and marketplace support.",
                    "economy_visible": "1",
                    "player_visible": "0",
                    "allowed_actions_json": "[\"market_list\", \"market_buy\", \"auction_watch\"]",
                    "safety_level": "75",
                    "enabled": "1",
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "mode_key": "full_live",
                    "label": "Full Live",
                    "description": "All bot economy systems may act if guardrails pass.",
                    "economy_visible": "1",
                    "player_visible": "1",
                    "allowed_actions_json": "[\"battle\", \"social\", \"market\", \"trade\", \"guild\", \"pack\", \"event\"]",
                    "safety_level": "60",
                    "enabled": "1",
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                }
            ],
            "guardrails": [],
            "player_protection": [],
            "rollback": [],
            "ledger": [],
            "provenance": [],
            "quality": [],
            "learning": [],
            "cron": [],
            "dependencies": [],
            "failsafe": [],
            "launch_gates": [
                {
                    "gate_key": "ledger_enforced",
                    "gate_group": "economy",
                    "label": "Ledger enforcement available",
                    "required": "1",
                    "status": "warning",
                    "message": "Ledger enforcement not checked.",
                    "checked_at": null,
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "gate_key": "provenance_enforced",
                    "gate_group": "economy",
                    "label": "Card provenance enforcement available",
                    "required": "1",
                    "status": "warning",
                    "message": "Provenance enforcement not checked.",
                    "checked_at": null,
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "gate_key": "migrations_verified",
                    "gate_group": "foundation",
                    "label": "All bot migrations and required tables verified",
                    "required": "1",
                    "status": "warning",
                    "message": "Run Phase 33 maintenance.",
                    "checked_at": null,
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "gate_key": "cron_healthy",
                    "gate_group": "operations",
                    "label": "Cron supervisor is healthy",
                    "required": "1",
                    "status": "warning",
                    "message": "Cron health not checked.",
                    "checked_at": null,
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "gate_key": "dependencies_green",
                    "gate_group": "operations",
                    "label": "Service dependencies pass",
                    "required": "1",
                    "status": "warning",
                    "message": "Dependency checker not run.",
                    "checked_at": null,
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "gate_key": "failsafe_ready",
                    "gate_group": "operations",
                    "label": "Fail-safe mode is ready",
                    "required": "1",
                    "status": "warning",
                    "message": "Fail-safe not checked.",
                    "checked_at": null,
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "gate_key": "rollback_ready",
                    "gate_group": "recovery",
                    "label": "Rollback centre is available",
                    "required": "1",
                    "status": "warning",
                    "message": "Rollback centre not checked.",
                    "checked_at": null,
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "gate_key": "guardrails_green",
                    "gate_group": "safety",
                    "label": "Hard guardrails are passing",
                    "required": "1",
                    "status": "warning",
                    "message": "Guardrails not checked.",
                    "checked_at": null,
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "gate_key": "player_protection_green",
                    "gate_group": "safety",
                    "label": "Real-player protection audit is passing",
                    "required": "1",
                    "status": "warning",
                    "message": "Protection audit not checked.",
                    "checked_at": null,
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                },
                {
                    "gate_key": "smoke_tests_pass",
                    "gate_group": "validation",
                    "label": "Bot economy smoke tests pass",
                    "required": "1",
                    "status": "warning",
                    "message": "Run smoke tests.",
                    "checked_at": null,
                    "created_at": "2026-07-03 08:40:31",
                    "updated_at": "2026-07-03 08:40:31"
                }
            ],
            "audit": []
        },
        "counts": {
            "bot_profiles": 3,
            "living_profiles": 3,
            "active_bots_today": 0,
            "director_decisions_today": 0,
            "open_warnings": 0,
            "active_interventions": 0
        }
    }
}