{
    "startedAt": "2026-11-02T03:35:14.7658676+09:00",
    "completedAt": "2026-11-02T03:35:38.3527764+09:00",
    "passed": true,
    "checks": [
        "Menu pauses both fighters",
        "Paused spawn still computes its grounded animation state",
        "Two authored weapons per fighter",
        "Native Behavior runtime graph and baked NavMesh loaded",
        "AI does not replace player camera/input ownership",
        "Menu blocks attacks",
        "Select owned sword",
        "Sheath moves sword to authored back socket and blocks attack",
        "Draw restores hand socket",
        "Sheath animation locks attack until handoff completes",
        "Animated sheath commits back socket",
        "Animated draw commits hand socket",
        "Thirty swaps preserve inventory without duplicates",
        "Invalid selection and foreign ownership rejected",
        "Select owned rifle",
        "Actual PlayerInput mouse press fires the rifle",
        "Actual mouse release stops automatic fire",
        "Rifle attack accepted",
        "Actual muzzle ray damages enemy and spends exactly one round",
        "Cooldown rejects duplicate attack",
        "Reload accepts once",
        "Timed reload conserves ammunition",
        "Solid obstacle blocks real rifle damage",
        "Friendly body blocks shot without friendly damage",
        "Reload after blocked shots",
        "Swapping cancels reload",
        "Health clamps overheal",
        "Negative damage does not heal",
        "Death releases possession and blocks attack",
        "Dead target rejects repeat damage",
        "Authored death animation reaches Dead state",
        "Restart restores health and player possession",
        "Restart restores physics and movement",
        "Missing AI target fails safely",
        "Approach requests actual baked path",
        "Blocked movement abandons path after bounded timeout",
        "Actual Behavior graph navigates and inflicts melee damage",
        "Actual AI victory pauses duel and opens restart menu",
        "Actual Behavior graph also fires the shared rifle",
        "Two agents own isolated graph instances and Target blackboards",
        "Second AI leaves player singleton unchanged",
        "Menu stops active AI combat",
        "Rifle selection is an authored Inspector event",
        "Stage button equips actual preview and shared selection",
        "Duplicated bundle data shares selection by explicit session id",
        "Different loadout session ids remain independent",
        "Stage rifle selection reaches actual Playground equipment",
        "Scene round trips retain single managers",
        "Pawn registry contains no unloaded actors after scene round trips",
        "Returned rifle actor remains grounded in paused menu",
        "Rendered resume button survives repeated bundle transitions",
        "Rendered menu title survives repeated bundle transitions"
    ],
    "trace": [
        "t=13.06733 enemy=(0.00, 0.00, 7.00) target=(0.00, 0.00, 0.00) poss=True combat=True attack=False hit=False input=(0.00, 0.00, 0.00) nav=True/False/PathComplete find=True damage=True hp=100/100 teams=0/1 active=True pc=True registry=3",
        "t=14.0692 enemy=(0.00, 0.00, 4.02) target=(0.00, 0.00, 0.00) poss=True combat=True attack=False hit=False input=(0.00, 0.00, -1.00) nav=True/True/PathComplete find=True damage=True hp=100/100 teams=0/1 active=True pc=True registry=3",
        "t=15.07083 enemy=(0.00, 0.00, 1.68) target=(0.00, 0.00, 0.00) poss=True combat=True attack=True hit=False input=(0.00, 0.00, 0.00) nav=True/False/PathComplete find=True damage=True hp=100/100 teams=0/1 active=True pc=True registry=3",
        "Returned rifle hips height=1.022955 grounded=True root=(0.00, 0.00, 0.00)"
    ],
    "errors": []
}