|
{ |
|
"scenarios": [ |
|
{ |
|
"name": "finish_intent_prompt_and_classifier", |
|
"passed": true, |
|
"campaign_id": null, |
|
"user_id": "deterministic", |
|
"errors": [], |
|
"user_email": "[email protected]" |
|
}, |
|
{ |
|
"name": "single_organic_level_up", |
|
"passed": false, |
|
"errors": [ |
|
"single_organic_level_up_final: codex leveling review did not pass; output=VERDICT: FAIL\n- Blocking: Paladin spell preparation is a player-selectable level-up decision, but the modal planning choices expose only HP and Fighting Style edits. No `level_up_*` choice lets the player edit prepared spells before finish.\n- Blocking: The first modal response\u2019s visible `Recommended package:` lists HP, Defense Fighting Style, and prepared spells, but does not clearly distinguish automatic gains from editable selections or visibly account for all automatic Level 2 Paladin gains in the package itself.\n- Passing: `level_up_now` opens the modal without committing level 2; final level commit appears only on `finish_level_up_return_to_game`.\n- Passing: Recommended HP/Fighting Style selections are prefilled, editable, and free-form Fighting Style edit keeps the modal open and updates the recommendation.\n- Passing: After finish, final state has `level=2`, `level_up_pending=false`, `level_up_in_progress=false`, no active level-up choices in the final planning block, and resumes real story choices.\n- No legacy `level_up_signal.level_up` boolean found; observed `level_up_signal` entries use `current_level` + `target_level`." |
|
], |
|
"campaign_id": "A0b6WSmVa22xyVcs48VL", |
|
"progression": [ |
|
{ |
|
"target_level": 2, |
|
"start_level": 1, |
|
"start_xp": 0, |
|
"end_xp": 306, |
|
"end_level": 2, |
|
"triggered": true, |
|
"completed": true, |
|
"immediate_choice_ids": [ |
|
"level_up_now", |
|
"proceed_to_pit_beta", |
|
"inspect_remains" |
|
], |
|
"polled_choice_ids": [ |
|
"level_up_now", |
|
"proceed_to_pit_beta", |
|
"inspect_remains" |
|
], |
|
"completion_transcript": [ |
|
{ |
|
"step": "enter_level_up", |
|
"action": "CHOICE:level_up_now", |
|
"choice_ids": [ |
|
"finish_level_up_return_to_game", |
|
"level_up_hp_fixed", |
|
"level_up_hp_roll", |
|
"level_up_fighting_style_defense", |
|
"level_up_fighting_style_dueling", |
|
"level_up_fighting_style_protection", |
|
"level_up_fighting_style_great_weapon" |
|
], |
|
"response_text_preview": "Midday (12:05:00) at Pit Alpha\u2014The air shimmering around you begins to vibrate at a new frequency. As the remains of the sparring construct dissipate into motes of fading azure light, the ley-lines embedded in the marble floor pulse with a rhythmic, golden glow that matches the steady beating of your heart. You feel your connection to the divine source deepening, your physical frame hardening to withstand greater pressures, and your will manifesting as a tangible force of smiting power. The melo", |
|
"finish_choice": { |
|
"id": "finish_level_up_return_to_game", |
|
"text": "Apply Recommended Options and Return to Game", |
|
"description": "Accept the recommended package: +8 HP, Defense Fighting Style (+1 AC), and standard Level 1 Paladin spells.", |
|
"risk_level": "safe", |
|
"freeze_time": true |
|
}, |
|
"has_planning_block": true |
|
}, |
|
{ |
|
"step": "free_form_edit_fighting_style", |
|
"action": "Change my recommended fighting style to Dueling, keep every other level-up recommendation pending, and keep the level-up modal open.", |
|
"choice_ids": [ |
|
"finish_level_up_return_to_game", |
|
"level_up_hp_fixed", |
|
"level_up_hp_roll", |
|
"level_up_fighting_style_defense", |
|
"level_up_fighting_style_dueling", |
|
"level_up_fighting_style_protection", |
|
"level_up_fighting_style_great_weapon" |
|
], |
|
"has_planning_block": true, |
|
"still_level_up_active": true, |
|
"before_xp": 306, |
|
"after_xp": 306, |
|
"response_text_preview": "Midday (12:05:00) at Pit Alpha\u2014The golden resonance of the Gauntlet responds to your shift in focus. As you visualize the precision required for the Dueling style, the shimmering light around your longsword intensifies, pulsing with a sharp, aggressive cadence. The melodic voice adjusts its calibration: \"Preference noted. Recalibrating for offensive focus. Dueling sub-routines prioritized. Divine Smite and Spellcasting matrices remain ready for final integration.\"\n\nRecommended package: Apply fix" |
|
}, |
|
{ |
|
"step": "escape_attempt_without_finish", |
|
"action": "I try to leave the level-up modal and continue the adventure without choosing the finish level-up option.", |
|
"choice_ids": [ |
|
"finish_level_up_return_to_game", |
|
"level_up_hp_fixed", |
|
"level_up_hp_roll", |
|
"level_up_fighting_style_defense", |
|
"level_up_fighting_style_dueling" |
|
], |
|
"has_planning_block": true, |
|
"still_level_up_active": true, |
|
"before_xp": 306, |
|
"after_xp": 306 |
|
}, |
|
{ |
|
"step": "level_up_step_1", |
|
"action": "CHOICE:level_up_hp_fixed", |
|
"choice_ids": [ |
|
"level_up_fighting_style_defense", |
|
"level_up_hp_roll", |
|
"finish_level_up_return_to_game" |
|
], |
|
"has_planning_block": true, |
|
"before_xp": 306, |
|
"after_xp": 306 |
|
}, |
|
{ |
|
"step": "level_up_step_2", |
|
"action": "CHOICE:level_up_fighting_style_defense", |
|
"choice_ids": [ |
|
"level_up_fighting_style_dueling", |
|
"level_up_hp_roll", |
|
"finish_level_up_return_to_game" |
|
], |
|
"has_planning_block": true, |
|
"before_xp": 306, |
|
"after_xp": 306 |
|
}, |
|
{ |
|
"step": "level_up_step_3", |
|
"action": "CHOICE:finish_level_up_return_to_game", |
|
"choice_ids": [ |
|
"proceed_to_pit_beta", |
|
"inspect_ley_line_fountain", |
|
"short_rest_alpha" |
|
], |
|
"has_planning_block": true, |
|
"before_xp": 306, |
|
"after_xp": 306 |
|
}, |
|
{ |
|
"step": "post_finish_state_poll", |
|
"action": "get_campaign_state", |
|
"level": 2, |
|
"level_up_in_progress": false, |
|
"rewards_pending_level_up": null, |
|
"persisted_choice_ids": [ |
|
"proceed_to_pit_beta", |
|
"inspect_ley_line_fountain", |
|
"short_rest_alpha" |
|
] |
|
} |
|
] |
|
} |
|
], |
|
"final_level": 2, |
|
"user_id": "test-test_level_up_organic-1779598181", |
|
"user_email": "[email protected]", |
|
"details": { |
|
"chunk_count_observed": 614, |
|
"chunk_count": 614, |
|
"done_chunk_count": 614, |
|
"request_ts": "2026-05-24T04:49:59.298926+00:00", |
|
"response_ts": "2026-05-24T04:55:17.252706+00:00", |
|
"stream_actions": 16, |
|
"execution_path": "streaming" |
|
}, |
|
"raw_response_text": "{\n \"session_header\": \"[SESSION_HEADER]\\nTimestamp: 1000 DR, Hammer 1, 08:00:00\\nLocation: The Divine Gauntlet\\nStatus: Creating Character\",\n \"resources\": \"Creating Character...\",\n \"narrative\": \"Morning (08:00:00)\\n\\n[CHARACTER CREATION - Initial Choice]\\n\\nWelcome to the **Divine Training Gauntlet**. This realm is a focused testing ground where constructs of pure arcane energy spar endlessly to refine the techniques of those who walk its halls.\\n\\n### CAMPAIGN SUMMARY\\n**Title**: Divine Training Gauntlet\\n**Character**: Not specified\\n**Setting**: A divine training gauntlet of sparring constructs\\n**Description**: Real MCP organic progression test in a divine training gauntlet. The campaign will test level-up mechanics and narrative flow.\\n**AI Personalities**: Narrative, Mechanical, Strategic\\n**Options**: D&D 5E SRD Mechanics Enabled\\n\\nBefore you step onto the sparring floor, we must forge your character. How would you like to proceed?\",\n \"planning_block\": {\n \"thinking\": \"The user is starting the character creation flow. I'm providing the three standard methods defined in the instruction set and moving the stage to 'initial_choice' where I wait for a selection.\",\n \"choices\": [\n {\n \"id\": \"ai_generated\",\n \"text\": \"AI Generated\",\n \"description\": \"Give me a theme, and I'll generate a complete character for you immediately.\"\n },\n {\n \"id\": \"standard_dnd\",\n \"text\": \"Standard D&D\",\n \"description\": \"A guided step-by-step process following core D&D 5e rules.\"\n },\n {\n \"id\": \"custom_class\",\n \"text\": \"Custom Class\",\n \"description\": \"Design a unique class tailored to the Gauntlet's challenges.\"\n },\n {\n \"id\": \"finish_character_creation_start_game\",\n \"text\": \"Finish Character Creation and Start Game\",\n \"description\": \"Note: A character must be completed before you can begin the story.\"\n }\n ]\n },\n \"god_mode_response\": \"\",\n \"entities_mentioned\": [\n \"Celestial Constructs\"\n ],\n \"location_confirmed\": \"The Divine Gauntlet\",\n \"state_updates\": {\n \"custom_campaign_state\": {\n \"character_creation_stage\": \"initial_choice\",\n \"core_memories\": {\n \"append\": \"The character creation process began for the Divine Training Gauntlet campaign.\"\n }\n }\n }\n}", |
|
"model": "gemini-3-flash-preview" |
|
}, |
|
{ |
|
"name": "EVIDENCE_SIGNATURE_GUARD", |
|
"passed": true, |
|
"signed_count": 16, |
|
"user_id": "test-test_level_up_organic-1779598181" |
|
} |
|
], |
|
"summary": { |
|
"total": 3, |
|
"passed": 2, |
|
"failed": 1, |
|
"pass_rate": "2/3 (67%)", |
|
"raw_total": 2, |
|
"raw_passed": 1, |
|
"raw_pass_rate": "50.0%", |
|
"raw_data_complete": true |
|
}, |
|
"doctor_report": { |
|
"generated_at_utc": "2026-05-24T04:57:50.463649+00:00", |
|
"test_name": "test_level_up_organic", |
|
"work_name": "test_level_up_organic", |
|
"server_base_url": "http://127.0.0.1:8074", |
|
"using_external_server": false, |
|
"user_id": "test-test_level_up_organic-1779598181", |
|
"failure_messages": [ |
|
"single_organic_level_up_final: codex leveling review did not pass; output=VERDICT: FAIL\n- Blocking: Paladin spell preparation is a player-selectable level-up decision, but the modal planning choices expose only HP and Fighting Style edits. No `level_up_*` choice lets the player edit prepared spells before finish.\n- Blocking: The first modal response\u2019s visible `Recommended package:` lists HP, Defense Fighting Style, and prepared spells, but does not clearly distinguish automatic gains from editable selections or visibly account for all automatic Level 2 Paladin gains in the package itself.\n- Passing: `level_up_now` opens the modal without committing level 2; final level commit appears only on `finish_level_up_return_to_game`.\n- Passing: Recommended HP/Fighting Style selections are prefilled, editable, and free-form Fighting Style edit keeps the modal open and updates the recommendation.\n- Passing: After finish, final state has `level=2`, `level_up_pending=false`, `level_up_in_progress=false`, no active level-up choices in the final planning block, and resumes real story choices.\n- No legacy `level_up_signal.level_up` boolean found; observed `level_up_signal` entries use `current_level` + `target_level`." |
|
], |
|
"http_probes": { |
|
"/health": { |
|
"ok": true, |
|
"status": 200, |
|
"body_excerpt": "{\"mcp_client\":{\"initialized\":false},\"service\":\"worldarchitect-ai\",\"status\":\"healthy\",\"timestamp\":\"2026-05-24T04:57:50.464597+00:00\"}\n", |
|
"is_json_api": true, |
|
"content_type": "application/json" |
|
}, |
|
"/mcp": { |
|
"ok": true, |
|
"status": 200, |
|
"body_excerpt": "<!doctype html>\n<html lang=\"en\">\n\n<head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <link rel=\"icon\" type=\"image/svg+xml\" href=\"/frontend_v1/dragon-favicon.svg\" />\n <title>WorldAI</title>\n <!-- DNS prefetch for external domains to reduce", |
|
"is_json_api": false, |
|
"content_type": "text/html; charset=utf-8" |
|
}, |
|
"/settings": { |
|
"ok": true, |
|
"status": 200, |
|
"body_excerpt": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <script src=\"/frontend_v1/js/theme-bootstrap.js\"></script>\n <link rel=\"icon\" type=\"image/svg+xml\" href=\"/frontend_v1/dragon-favicon.svg\">\n <title>Se", |
|
"is_json_api": false, |
|
"content_type": "text/html; charset=utf-8" |
|
} |
|
}, |
|
"mcp_probes": { |
|
"get_user_settings": { |
|
"ok": true, |
|
"payload": { |
|
"cerebras_model": "qwen-3-235b-a22b-instruct-2507", |
|
"gemini_model": "gemini-3-flash-preview", |
|
"has_custom_cerebras_key": false, |
|
"has_custom_gemini_key": false, |
|
"has_custom_openclaw_gateway_token": false, |
|
"has_custom_openclaw_key": false, |
|
"has_custom_openrouter_key": false, |
|
"llm_provider": "gemini", |
|
"openclaw_gateway_port": 18789, |
|
"openclaw_gateway_url": "", |
|
"openrouter_model": "meta-llama/llama-3.1-70b-instruct", |
|
"success": true |
|
} |
|
} |
|
}, |
|
"openclaw_endpoint_probes": [ |
|
{ |
|
"target": "http://127.0.0.1:18789/v1/models", |
|
"probe": { |
|
"ok": false, |
|
"error": "<urlopen error [Errno 61] Connection refused>" |
|
} |
|
} |
|
], |
|
"openclaw_settings": { |
|
"llm_provider": "gemini", |
|
"openclaw_gateway_port": 18789, |
|
"openclaw_gateway_url": "" |
|
}, |
|
"doctor_report_path": "/tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/doctor_report.json" |
|
}, |
|
"campaign_capture_status": { |
|
"A0b6WSmVa22xyVcs48VL": { |
|
"status": "success", |
|
"attempts": 1, |
|
"export": { |
|
"status": "success" |
|
} |
|
} |
|
} |
|
} |