Skip to content

Instantly share code, notes, and snippets.

@jleechan2015
Created May 24, 2026 06:03
Show Gist options
  • Select an option

  • Save jleechan2015/56f5764138be21bffe22219a090b67ee to your computer and use it in GitHub Desktop.

Select an option

Save jleechan2015/56f5764138be21bffe22219a090b67ee to your computer and use it in GitHub Desktop.
PR #7064 test_level_up_organic iteration_011 at 908585982e
{
"test_name": "test_level_up_organic",
"run_id": "test_level_up_organic-011-20260524T060215",
"iteration": 11,
"bundle_version": "1.2.0",
"timestamp": "2026-05-24T06:02:15.682645+00:00",
"bundle_timestamp": "2026-05-24T06:02:15.682645+00:00",
"evidence_mode": "lightweight_prompt_tracking",
"evidence_mode_notes": "System instruction captured as filenames + char_count (not full text). Raw LLM request/response payloads captured in request_responses.jsonl. Server logs in artifacts/. Bundle file inventory in artifacts/collection_log.txt.",
"git_provenance": {
"git_head": "908585982e8cfb327e564f4c00ecf2892503d6f9",
"git_branch": "pr6958-zfc-evidence-followups",
"merge_base": "104cc8b6615d005d9229a8dd31dc3655c2eede59",
"commits_ahead_of_main": 51,
"diff_stat_vs_main": ".beads/issues.jsonl | 29 +\n .claude/skills/code-standards/SKILL.md | 14 +-\n .claude/skills/repro-twin-clone-evidence/SKILL.md | 14 +-\n mvp_site/agents.py | 37 +-\n mvp_site/backend_adjustment_registry.py | 246 +----\n mvp_site/backend_adjustment_specs.py | 989 +++++++++++++++++++++\n mvp_site/backend_adjustment_types.py | 138 +++\n mvp_site/frontend_v1/app.js | 33 +-\n mvp_site/game_state.py | 39 +-\n mvp_site/llm_service.py | 110 +++\n mvp_site/prompts/level_up_instruction.md | 69 ++\n mvp_site/prompts/planning_protocol.md | 32 +-\n mvp_site/rewards_engine.py | 91 ++\n mvp_site/schemas/prompt_tool_contracts.json | 4 +-\n mvp_site/session_header_utils.py | 27 +-\n .../frontend/test_app_js_structured_fields.js | 2 +-\n .../test_agent_routing_with_state_validation.py | 2 +-\n mvp_site/tests/test_backend_adjustment_registry.py | 93 +-\n mvp_site/tests/test_llm_service_context.py | 15 +-\n mvp_site/tests/test_rewards_engine.py | 67 ++\n mvp_site/tests/test_session_header_enrichment.py | 80 ++\n mvp_site/tests/test_world_logic.py | 541 ++++++++++-\n mvp_site/world_logic.py | 63 +-\n roadmap/README.md | 1 +\n ...teps-2026-05-24-pr6958-adjuster-registration.md | 126 +++\n ...-05-24-pr7048-location-centralization-review.md | 72 ++\n scripts/copy_campaign.py | 9 +\n testing_mcp/core/test_level_up_organic.py | 4 +-\n testing_mcp/lib/base_test.py | 24 +-\n testing_mcp/lib/llm_response_cache/config.py | 29 +-\n .../lib/llm_response_cache/prompt_fingerprint.py | 5 +\n testing_mcp/lib/llm_response_cache/server_cache.py | 236 +++++\n .../lib/llm_response_cache/tests/test_config.py | 27 +\n 33 files changed, 2929 insertions(+), 339 deletions(-)",
"working_tree_dirty": false,
"working_tree_staged_changes": 0,
"working_tree_unstaged_changes": 0,
"working_tree_changed_files": [],
"working_tree_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
"server": {
"base_url": "http://127.0.0.1:8074",
"hostname": "127.0.0.1",
"mode": "local",
"port": "8074",
"pid": 29701,
"process_cmdline": "/opt/homebrew/Cellar/[email protected]/3.12.11/Frameworks/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python -m gunicorn mvp_site.main:app --bind 0.0.0.0:8074 --workers 1 --worker-class gthread --threads 4 --timeout 600 --max-requests 1000 --access-logfile - --error-logfile - --log-level info",
"env_vars": {
"WORLDAI_DEV_MODE": "true",
"TESTING": null,
"MOCK_SERVICES_MODE": "false",
"GOOGLE_APPLICATION_CREDENTIALS": "[SET - file:serviceAccountKey.json]",
"WORLDAI_GOOGLE_APPLICATION_CREDENTIALS": "[SET - file:serviceAccountKey.json]",
"FIRESTORE_EMULATOR_HOST": null,
"PORT": "8074",
"FIREBASE_PROJECT_ID": "worldarchitecture-ai",
"GEMINI_API_KEY": "[SET - 39 chars]",
"LLM_REQUEST_RESPONSE_CAPTURE_PATH": "/tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011/llm_request_responses_1779602069623.jsonl",
"HTTP_REQUEST_RESPONSE_CAPTURE_PATH": "/tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011/http_request_responses_1779602069623.jsonl",
"GEMINI_HTTP_REQUEST_RESPONSE_CAPTURE_PATH": "/tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011/gemini_http_request_responses_1779602069623.jsonl",
"MCP_TEST_PROVIDER_HTTP_CAPTURE_PATH": "/tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011/provider_http_request_responses_1779602069623.jsonl"
},
"lsof_output": "COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME\nPython 29701 jleechan 5u IPv4 0xd0283afd5e5b0899 0t0 TCP *:8074 (LISTEN)\nPython 29718 jleechan 5u IPv4 0xd0283afd5e5b0899 0t0 TCP *:8074 (LISTEN)",
"ps_output": "PID USER ELAPSED ARGS\n29701 jleechan 07:26 /opt/homebrew/Cellar/[email protected]/3.12.11/Frameworks/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python -m gunicorn mvp_site.main:app --bind 0.0.0.0:8074 --workers 1 --worker-class gthread --threads 4 --timeout 600 --max-requests 1000 --access-logfile - --error-logfile - --log-level info"
},
"provenance": {
"git_fetch_origin_main": {
"returncode": 0,
"stdout": null,
"stderr": "From https://github.com/jleechanorg/worldarchitect.ai\n * branch main -> FETCH_HEAD\nAuto packing the repository in background for optimum performance.\nSee \"git help gc\" for manual housekeeping.\nwarning: The last gc run reported the following. Please correct the root cause\nand remove /Users/jleechan/projects/worldarchitect.ai/.git/worktrees/worktree_autolvl/gc.log\nAutomatic cleanup will not be performed until the file is removed.\n\nwarning: There are too many unreachable loose objects; run 'git prune' to remove them."
},
"git_head": "908585982e8cfb327e564f4c00ecf2892503d6f9",
"git_branch": "pr6958-zfc-evidence-followups",
"merge_base": "104cc8b6615d005d9229a8dd31dc3655c2eede59",
"commits_ahead_of_main": 51,
"diff_stat_vs_main": ".beads/issues.jsonl | 29 +\n .claude/skills/code-standards/SKILL.md | 14 +-\n .claude/skills/repro-twin-clone-evidence/SKILL.md | 14 +-\n mvp_site/agents.py | 37 +-\n mvp_site/backend_adjustment_registry.py | 246 +----\n mvp_site/backend_adjustment_specs.py | 989 +++++++++++++++++++++\n mvp_site/backend_adjustment_types.py | 138 +++\n mvp_site/frontend_v1/app.js | 33 +-\n mvp_site/game_state.py | 39 +-\n mvp_site/llm_service.py | 110 +++\n mvp_site/prompts/level_up_instruction.md | 69 ++\n mvp_site/prompts/planning_protocol.md | 32 +-\n mvp_site/rewards_engine.py | 91 ++\n mvp_site/schemas/prompt_tool_contracts.json | 4 +-\n mvp_site/session_header_utils.py | 27 +-\n .../frontend/test_app_js_structured_fields.js | 2 +-\n .../test_agent_routing_with_state_validation.py | 2 +-\n mvp_site/tests/test_backend_adjustment_registry.py | 93 +-\n mvp_site/tests/test_llm_service_context.py | 15 +-\n mvp_site/tests/test_rewards_engine.py | 67 ++\n mvp_site/tests/test_session_header_enrichment.py | 80 ++\n mvp_site/tests/test_world_logic.py | 541 ++++++++++-\n mvp_site/world_logic.py | 63 +-\n roadmap/README.md | 1 +\n ...teps-2026-05-24-pr6958-adjuster-registration.md | 126 +++\n ...-05-24-pr7048-location-centralization-review.md | 72 ++\n scripts/copy_campaign.py | 9 +\n testing_mcp/core/test_level_up_organic.py | 4 +-\n testing_mcp/lib/base_test.py | 24 +-\n testing_mcp/lib/llm_response_cache/config.py | 29 +-\n .../lib/llm_response_cache/prompt_fingerprint.py | 5 +\n testing_mcp/lib/llm_response_cache/server_cache.py | 236 +++++\n .../lib/llm_response_cache/tests/test_config.py | 27 +\n 33 files changed, 2929 insertions(+), 339 deletions(-)",
"working_tree_staged_changes": 0,
"working_tree_unstaged_changes": 0,
"working_tree_untracked_files": 0,
"working_tree_changed_files": [],
"working_tree_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"working_tree_dirty": false,
"server": {
"base_url": "http://127.0.0.1:8074",
"hostname": "127.0.0.1",
"mode": "local",
"port": "8074",
"pid": 29701,
"process_cmdline": "/opt/homebrew/Cellar/[email protected]/3.12.11/Frameworks/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python -m gunicorn mvp_site.main:app --bind 0.0.0.0:8074 --workers 1 --worker-class gthread --threads 4 --timeout 600 --max-requests 1000 --access-logfile - --error-logfile - --log-level info",
"env_vars": {
"WORLDAI_DEV_MODE": "true",
"TESTING": null,
"MOCK_SERVICES_MODE": "false",
"GOOGLE_APPLICATION_CREDENTIALS": "[SET - file:serviceAccountKey.json]",
"WORLDAI_GOOGLE_APPLICATION_CREDENTIALS": "[SET - file:serviceAccountKey.json]",
"FIRESTORE_EMULATOR_HOST": null,
"PORT": "8074",
"FIREBASE_PROJECT_ID": "worldarchitecture-ai",
"GEMINI_API_KEY": "[SET - 39 chars]",
"LLM_REQUEST_RESPONSE_CAPTURE_PATH": "/tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011/llm_request_responses_1779602069623.jsonl",
"HTTP_REQUEST_RESPONSE_CAPTURE_PATH": "/tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011/http_request_responses_1779602069623.jsonl",
"GEMINI_HTTP_REQUEST_RESPONSE_CAPTURE_PATH": "/tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011/gemini_http_request_responses_1779602069623.jsonl",
"MCP_TEST_PROVIDER_HTTP_CAPTURE_PATH": "/tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011/provider_http_request_responses_1779602069623.jsonl"
},
"lsof_output": "COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME\nPython 29701 jleechan 5u IPv4 0xd0283afd5e5b0899 0t0 TCP *:8074 (LISTEN)\nPython 29718 jleechan 5u IPv4 0xd0283afd5e5b0899 0t0 TCP *:8074 (LISTEN)",
"ps_output": "PID USER ELAPSED ARGS\n29701 jleechan 07:26 /opt/homebrew/Cellar/[email protected]/3.12.11/Frameworks/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python -m gunicorn mvp_site.main:app --bind 0.0.0.0:8074 --workers 1 --worker-class gthread --threads 4 --timeout 600 --max-requests 1000 --access-logfile - --error-logfile - --log-level info"
},
"timestamp": "2026-05-24T06:02:15.166351+00:00",
"test_file": "/Users/jleechan/projects/worktree_autolvl/testing_mcp/core/test_level_up_organic.py"
},
"summary": {
"total_scenarios": 4,
"passed": 2,
"failed": 2,
"campaign_capture_total": 1,
"campaign_capture_passed": 1,
"campaign_capture_failed": 0,
"raw_passed": 1,
"raw_total": 2,
"raw_pass_rate": "50.0%"
}
}
{
"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\n- Blocking gap: the first level-up modal recommends prepared spells, but its planning-block choices only expose finish, HP, and Fighting Style edits. There is no spell-preparation edit path, so not all player-selectable recommended selections are editable before finish.\n- Proven: `level_up_now` opens the modal at `current_level: 1 -> target_level: 2` without committing level 2 immediately, and the first modal response visibly includes `Recommended package:`.\n- Proven: one free-form edit changes the recommended Fighting Style to Dueling, keeps the modal open, and preserves finish plus edit choices.\n- Proven: finish commits once, clears `level_up_pending` / `level_up_in_progress`, deletes pending selections, sets level 2, and resumes concrete combat/story choices.\n- No explicit legacy `level_up_signal.level_up` boolean, `level_up_signal.level_up=false`, or legacy `level_up_signal.new_level` defect found. Final XP/level display looks coherent for level 2: 306 XP, 594 XP to next level.\n"
],
"campaign_id": "I5fO8BF4Pnc7IOczDbIg",
"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",
"press_the_attack",
"defensive_posture"
],
"polled_choice_ids": [
"level_up_now",
"press_the_attack",
"defensive_posture"
],
"completion_transcript": [
{
"step": "enter_level_up",
"action": "CHOICE:level_up_now",
"choice_ids": [
"finish_level_up_return_to_game",
"level_up_hp_roll",
"level_up_fighting_style_dueling",
"level_up_fighting_style_protection"
],
"response_text_preview": "Midday (12:01:00). As you strike the construct, a surge of golden radiance erupts from the marble floor, spiraling around you like a celestial cyclone. The ozone in the air thickens, and for a fleeting moment, the humming of the arena harmonizes with the beating of your own heart. The Architects are not merely testing your skill; they are unlocking the latent power within your oath. \n\nYou feel the weight of your sword and shield change\u2014not becoming heavier, but more purposeful. Visions of sacred",
"finish_choice": {
"id": "finish_level_up_return_to_game",
"text": "Apply Recommended Options and Return to Game",
"description": "Accept +8 HP, Defense Fighting Style, and prepared spells (Bless, Cure Wounds, Divine Favor).",
"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_roll",
"level_up_fighting_style_defense",
"level_up_fighting_style_protection"
],
"has_planning_block": true,
"still_level_up_active": true,
"before_xp": 306,
"after_xp": 306,
"response_text_preview": "Midday (12:01:00) in the Divine Gauntlet Entrance\u2014the resonance of the Architects' trial hums through your armor as the level-up ritual continues. Your focus shifts, the golden light of the arena responding to your intent as you weigh the nuances of your martial calling. The crystalline interface before you shimmers, adjusting its display to reflect your preference for the Dueling fighting style. Your longsword feels heavier, more lethal in your grip, as the gauntlet prepares to weave this new m"
},
{
"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_roll",
"level_up_fighting_style_defense",
"level_up_fighting_style_protection"
],
"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_roll",
"choice_ids": [
"finish_level_up_return_to_game",
"level_up_hp_fixed",
"level_up_fighting_style_defense"
],
"has_planning_block": true,
"before_xp": 306,
"after_xp": 306
},
{
"step": "level_up_step_2",
"action": "CHOICE:level_up_hp_fixed",
"choice_ids": [
"finish_level_up_return_to_game",
"level_up_hp_roll",
"level_up_fighting_style_defense"
],
"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": [
"attack_with_smite",
"cast_divine_favor",
"standard_attack",
"use_lay_on_hands"
],
"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": [
"attack_with_smite",
"cast_divine_favor",
"standard_attack",
"use_lay_on_hands"
]
}
]
}
],
"final_level": 2,
"user_id": "test-test_level_up_organic-1779602069",
"user_email": "[email protected]",
"details": {
"chunk_count_observed": 609,
"chunk_count": 609,
"done_chunk_count": 609,
"request_ts": "2026-05-24T05:54:55.657009+00:00",
"response_ts": "2026-05-24T05:59:45.072448+00:00",
"stream_actions": 16,
"execution_path": "streaming"
},
"raw_response_text": "{\n \"session_header\": \"[SESSION_HEADER]\\nTimestamp: 1492 DR, Hammer 1, 08:00:00\\nLocation: Divine Gauntlet Entrance\\nStatus: Lvl 1 [Class] | HP: --/-- | XP: 0/300 | Gold: 0gp\",\n \"resources\": \"HD: 0/1 | Spells: No Spells Yet | Exhaustion: 0\",\n \"narrative\": \"[CHARACTER CREATION - Method Selection]\\n\\nWelcome to the Divine Training Gauntlet. You stand before the shimmering archway of the celestial arena, where the constructs of the architects await those who seek to test their mettle. Before you can engage in the sacred sparring rituals, we must determine the nature of your existence.\\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 should use normal st...\\n**AI Personalities:** Standard\\n**Options:** D&D 5E SRD\\n\\nHow would you like to proceed with your character's creation?\",\n \"planning_block\": {\n \"thinking\": \"The user is initiating character creation. I must present the three standard creation methods and ensure the character_creation_stage is updated accordingly in the state. I will also include the mandatory finish choice.\",\n \"choices\": [\n {\n \"id\": \"ai_generated\",\n \"text\": \"AI Generated\",\n \"description\": \"Let the AI create a complete character for you based on a theme or concept.\",\n \"risk_level\": \"safe\"\n },\n {\n \"id\": \"standard_dnd\",\n \"text\": \"Standard D&D\",\n \"description\": \"Follow the traditional step-by-step process: Race, Class, Abilities, and Gear.\",\n \"risk_level\": \"safe\"\n },\n {\n \"id\": \"custom_class\",\n \"text\": \"Custom Class\",\n \"description\": \"Design a unique class with the AI's assistance for a custom experience.\",\n \"risk_level\": \"safe\"\n },\n {\n \"id\": \"finish_character_creation_start_game\",\n \"text\": \"Finish Character Creation and Start Game\",\n \"description\": \"Note: A character must be fully defined before you can begin the adventure.\",\n \"risk_level\": \"safe\"\n }\n ]\n },\n \"god_mode_response\": \"\",\n \"entities_mentioned\": [],\n \"location_confirmed\": \"Divine Gauntlet Entrance\",\n \"state_updates\": {\n \"custom_campaign_state\": {\n \"character_creation_stage\": \"method_selection\"\n }\n }\n}",
"model": "gemini-3-flash-preview"
},
{
"name": "EVIDENCE_SIGNATURE_GUARD",
"passed": true,
"signed_count": 16,
"user_id": "test-test_level_up_organic-1779602069"
},
{
"name": "PROVENANCE_VALIDATION",
"passed": false,
"errors": [
"Git commit drift detected: start=0255862b, end=90858598. Evidence bundle requires stable commit."
]
}
],
"summary": {
"total": 4,
"passed": 2,
"failed": 2,
"pass_rate": "2/4 (50%)",
"raw_total": 2,
"raw_passed": 1,
"raw_pass_rate": "50.0%",
"raw_data_complete": true
},
"doctor_report": {
"generated_at_utc": "2026-05-24T06:02:15.535681+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-1779602069",
"failure_messages": [
"single_organic_level_up_final: codex leveling review did not pass; output=VERDICT: FAIL\n\n- Blocking gap: the first level-up modal recommends prepared spells, but its planning-block choices only expose finish, HP, and Fighting Style edits. There is no spell-preparation edit path, so not all player-selectable recommended selections are editable before finish.\n- Proven: `level_up_now` opens the modal at `current_level: 1 -> target_level: 2` without committing level 2 immediately, and the first modal response visibly includes `Recommended package:`.\n- Proven: one free-form edit changes the recommended Fighting Style to Dueling, keeps the modal open, and preserves finish plus edit choices.\n- Proven: finish commits once, clears `level_up_pending` / `level_up_in_progress`, deletes pending selections, sets level 2, and resumes concrete combat/story choices.\n- No explicit legacy `level_up_signal.level_up` boolean, `level_up_signal.level_up=false`, or legacy `level_up_signal.new_level` defect found. Final XP/level display looks coherent for level 2: 306 XP, 594 XP to next level.\n",
"Git commit drift detected: start=0255862b, end=90858598. Evidence bundle requires stable commit."
],
"http_probes": {
"/health": {
"ok": true,
"status": 200,
"body_excerpt": "{\"mcp_client\":{\"initialized\":false},\"service\":\"worldarchitect-ai\",\"status\":\"healthy\",\"timestamp\":\"2026-05-24T06:02:15.536872+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": {
"I5fO8BF4Pnc7IOczDbIg": {
"status": "success",
"attempts": 1,
"export": {
"status": "success"
}
}
}
}
======================================================================
TEST LEVEL UP ORGANIC
======================================================================
Work name: test_level_up_organic
Model: gemini-3-flash-preview
======================================================================
πŸ“ Evidence directory: /tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic
Evidence will be saved to: /tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_XXX/
πŸ“ Base evidence directory (forced branch-scoped /tmp): /tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic
Created iteration directory for evidence: /tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011
πŸš€ Starting fresh local MCP server on port 8074...
βœ… Server ready at http://127.0.0.1:8074
Tmux video recording started for evidence bundle.
❌ PROVENANCE VALIDATION FAILED: Git commit drift detected: start=0255862b, end=90858598. Evidence bundle requires stable commit.
βœ… Captured campaign snapshot for I5fO8BF4
🩺 Doctor mode report: /tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/doctor_report.json
Tmux video artifact finalized (.cast).
================================================================================
πŸ“¦ EVIDENCE BUNDLE CREATED
================================================================================
πŸ“ Evidence Directory:
/tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011
πŸ“‹ Bundle Metadata:
Run ID: test_level_up_organic-011-20260524T060215
Iteration: 11
Bundle Version: 1.2.0
πŸ“ Evidence directory: /tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011
πŸ“ Latest iteration: /tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011
πŸ“₯ Downloading 1 test campaigns (workers=1)...
Downloading to: /tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011/campaigns
Format: txt
============================================================
Downloading: I5fO8BF4Pnc7IOczDbIg...
Saved story: Organic Level-Up Progression Test_I5fO8BF4.txt
Saved game state: Organic Level-Up Progression Test_I5fO8BF4_game_state.json
Entries: 34, Story size: 22.7 KB, Game state size: 8.8 KB
============================================================
Downloaded 1/1 campaigns
stderr: 2026-05-23 23:02:16,467 - root - INFO - Unified logging configured: /var/folders/j0/byd1z6px50v88lf679bgt0h00000gn/T/worldarchitect.ai/pr6958-zfc-evidence-followups/app.log
stderr: 2026-05-23 23:02:16,467 - root - INFO - Applied clock skew patch: adjusting time by -720 seconds
stderr: 2026-05-23 23:02:17,380 - root - INFO - Firebase not initialized - attempting to initialize now
stderr: 2026-05-23 23:02:17,381 - root - INFO - Loading service account from file: /Users/jleechan/serviceAccountKey.json
stderr: 2026-05-23 23:02:17,381 - root - INFO - βœ… Successfully loaded credentials from file: /Users/jleechan/serviceAccountKey.json
stderr: 2026-05-23 23:02:17,381 - root - INFO - Successfully loaded service account credentials
stderr: 2026-05-23 23:02:17,973 - root - INFO - πŸ“– FETCHED STORY ENTRIES: user=test-test_level_up_organic-1779602069, campaign=I5fO8BF4Pnc7IOczDbIg, total_entries=34
stderr: 2026-05-23 23:02:17,973 - root - INFO - πŸ“Š STORY BREAKDOWN: user_entries=17, ai_entries=17, other_entries=0
stderr: 2026-05-23 23:02:17,973 - root - INFO - πŸ” RECENT ENTRIES (last 5):
stderr: 2026-05-23 23:02:17,973 - root - INFO - 1. [gemini] character | Midday (12:01:00) in the Divine Gauntlet Entranceβ€”... | 2026-05-24 05:59:03.656146+00:00
stderr: 2026-05-23 23:02:17,973 - root - INFO - 2. [user] character | Switch to Fixed HP (+8) - Discard the roll and tak... | 2026-05-24 05:59:18.568970+00:00
stderr: 2026-05-23 23:02:17,973 - root - INFO - 3. [gemini] character | Midday (12:01:00) in the Divine Gauntlet Entranceβ€”... | 2026-05-24 05:59:19.016018+00:00
stderr: 2026-05-23 23:02:17,973 - root - INFO - 4. [user] character | Apply Recommended Options and Return to Game - Acc... | 2026-05-24 05:59:44.174538+00:00
stderr: 2026-05-23 23:02:17,973 - root - INFO - 5. [gemini] character | Midday (12:01:00). The golden energy swirling arou... | 2026-05-24 05:59:44.639750+00:00
βœ… Downloaded campaign I5fO8BF4... (34 entries)
βœ… Downloaded campaign I5fO8BF4... (34 entries, user_id=test-test_level_up_organic-1779602069)
πŸ“¦ Downloaded 1/1 campaigns to:
/tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011/campaigns
ℹ️ Reconciled campaign_capture_status with exported campaign artifacts.
================================================================================
βœ… TEST EVIDENCE SUMMARY
================================================================================
πŸ“ Evidence Location: /tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011
πŸ“₯ Campaigns Location: /tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011/campaigns
πŸ”— Latest Symlink: /tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/latest
================================================================================
πŸ“Ž Iteration artifact captured: /tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011/scenario_results_checkpoint.json
πŸ“Ž Iteration artifact captured: /tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011/doctor_report.json
πŸ“ Final evidence iteration directory: /tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic/iteration_011
======================================================================
SUMMARY
======================================================================
Total scenarios: 4
Passed: 2
Failed: 2
Pass rate: 2/4 (50%)
πŸ“¦ Evidence bundle created: /tmp/worldarchitect.ai/pr6958-zfc-evidence-followups/test_level_up_organic
Files: 23 with checksums
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment