Skip to content

Instantly share code, notes, and snippets.

@jleechan2015
Last active May 23, 2026 00:11
Show Gist options
  • Select an option

  • Save jleechan2015/0a2fff8ca7a36311e394c50504955737 to your computer and use it in GitHub Desktop.

Select an option

Save jleechan2015/0a2fff8ca7a36311e394c50504955737 to your computer and use it in GitHub Desktop.
PR 6958 current-head evidence index

PR 6958 Current-Head Evidence Index

Current PR head: b57bc666c3f040f7e3b926747dea2fe242f2cd41

This gist is the index for the current-head proof package for PR #6958. The final bundles are:

  • Broad runtime-head PASS

    • /tmp/worldarchitect.ai/fix_6926-review-comments/level_up_entry_offer_pr6958/iteration_007
    • Run ID: level_up_entry_offer_pr6958-007-20260523T000834
    • Status: PASS, 5/5 scenarios passed, raw LLM 4/4, checksums verified
    • Capture: level_up_entry_offer_pr6958.cast
  • Organic exact-head PASS

    • /tmp/worldarchitect.ai/fix_6926-review-comments/pr6958-core-level-up-organic-final-b57bc666/iteration_001
    • Status: PASS at exact PR head b57bc666c3f040f7e3b926747dea2fe242f2cd41
    • Result: 3/3 scenarios passed, raw LLM 1/2, checksums pass
    • Caveat: raw LLM Layer 1/2 accounting caveat from the harness; raw files present
    • Capture: pr6958-core-level-up-organic-final-b57bc666.cast

The PR body carries the proof table and points back here for the exact current-head bundle paths.

Current-Head Evidence Summary: PR 6958

Verdict

PASS for the broad bundle and the organic exact-head bundle.

Bundles

  • /tmp/worldarchitect.ai/fix_6926-review-comments/level_up_entry_offer_pr6958/iteration_007

    • Run ID: level_up_entry_offer_pr6958-007-20260523T000834
    • Status: PASS, 5/5 scenarios passed
    • Raw LLM: 4/4
    • Checksums: ALL_SHA256_VERIFIED
    • Capture: level_up_entry_offer_pr6958.cast
  • /tmp/worldarchitect.ai/fix_6926-review-comments/pr6958-core-level-up-organic-final-b57bc666/iteration_001

    • Status: PASS at exact PR head b57bc666c3f040f7e3b926747dea2fe242f2cd41
    • 3/3 scenarios passed, raw files present
    • Raw LLM: 1/2
    • Checksums: pass
    • Capture: pr6958-core-level-up-organic-final-b57bc666.cast
    • Caveat: raw LLM Layer 1/2 accounting caveat from the harness; raw files present

What This Evidence Proves

  • Current-head level-up entry-offer behavior is correct at b57bc666c3f040f7e3b926747dea2fe242f2cd41
  • Prompt-owned modal choice flow remains intact
  • The proof table in the PR body is backed by the broad runtime bundle and the organic exact-head bundle, both of which pass
{
"pr": 6958,
"current_head": "b57bc666c3f040f7e3b926747dea2fe242f2cd41",
"gist": "0a2fff8ca7a36311e394c50504955737",
"bundles": [
{
"path": "/tmp/worldarchitect.ai/fix_6926-review-comments/level_up_entry_offer_pr6958/iteration_007",
"run_id": "level_up_entry_offer_pr6958-007-20260523T000834",
"scenarios": "5/5",
"raw_llm": "4/4",
"checksums": "verified"
},
{
"path": "/tmp/worldarchitect.ai/fix_6926-review-comments/pr6958-core-level-up-organic-final-b57bc666/iteration_001",
"run_id": null,
"scenarios": "3/3",
"raw_llm": "1/2",
"checksums": "pass",
"caveat": "raw LLM Layer 1/2 accounting caveat from the harness; raw files present"
}
]
}

Methodology: pr6958-current-head-zfc-adjuster

Test Type

Real API test against MCP server (not mock mode).

Test Mode

  • TESTING env var: None
  • MOCK_SERVICES_MODE env var: false
  • Mode: Real API calls via MCP HTTP JSON-RPC

Execution Environment

  • Server running at port 8069
  • Process: /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:8069 --workers 1 --worker-class gthread --threads 4 --timeout 600 --max-requests 1000 --access-logfile - --error-logfile - --log-level info

Test Isolation Design

Multi-campaign architecture is BY DESIGN for test isolation.

  • Total Campaigns: 4
  • Shared Campaigns: 0 (used by multiple scenarios)
  • Independent Campaigns: 4 (single-scenario campaigns)
  • Isolated Tests: 0 (explicit isolated: True scenarios)
  • Rationale: Each test uses its own campaign to prevent state bleed

No scenarios in this run were marked isolated: True; campaign usage still follows multi-campaign separation to avoid state bleed. Campaign separation in this run still prevents state bleed across scenarios that use different campaign IDs.

Evidence Capture

  • Git provenance captured at test start
  • Raw request/response payloads captured for each MCP call
  • Server runtime info captured via lsof/ps
  • Streaming evidence normalized into streaming_evidence.json
  • Raw local-server HTTP request/response payloads captured in http_request_responses.jsonl
  • Raw LLM request/response payloads captured in llm_request_responses.jsonl
  • Raw Gemini HTTP transport payloads captured in gemini_http_request_responses.jsonl
  • Raw LLM response text captured in server.log (artifacts/server.log)

Evidence Mode

  • System instruction capture: filenames + char_count (lightweight). Raw LLM request/response payloads captured in request_responses.jsonl when raw payload capture is enabled.

Validation Criteria

Test scenarios validate that:

  1. MCP server processes actions correctly
  2. State updates are returned as expected
  3. Server processes all requests successfully (validation warnings may be logged but requests succeed)

Note: Server warnings (e.g., validation, entity tracking) may appear in logs. Check artifacts/server.log for full server output.

Warning parser for notes: counts each log line matching \bWARNING\b|SYSTEM WARNING: once.

Notes: pr6958-current-head-zfc-adjuster

Run Information

  • Run ID: pr6958-current-head-zfc-adjuster-004-20260522T093836
  • Iteration: 4
  • Bundle Version: 1.2.0
  • Timestamp: 2026-05-22T09:38:36.766451+00:00

Evidence Integrity

  • All files in this bundle have corresponding .sha256 checksum files
  • Checksums use local basename paths so per-file verification works from each artifact directory

Scenario Summary

  • Total: 5
  • Passed: 5
  • Failed: 0

Post-Processing Capture Summary

  • Campaigns with capture status: 4
  • Capture Passed: 4
  • Capture Failed: 0

Warning/Error Summary

  • Server Warnings: 151 warnings in server.log
  • Warning Parser: line-level regex \bWARNING\b|SYSTEM WARNING: (one count per matching line)
  • Key Warning Categories:
    • ACTION_RESOLUTION_MISSING_FIELDS
    • CRITICAL_SAFEGUARD
    • INVENTORY_SAFEGUARD
    • SYSTEM_INSTRUCTION_EMERGENCY_COMPACT
    • ENTITY_TRACKING_CAPPED

Follow-up Items

Additional Context

{
"scenarios": [
{
"name": "entry_offer_level_up_now_only",
"passed": true,
"errors": [],
"campaign_id": "y6l3NliG1GnCt7vtPv6s",
"user_id": "test-level_up_entry_offer_pr6958-1779442156",
"entry_choice_ids": [
"level_up_now"
],
"mechanic_ids_at_entry": [],
"rewards_box": {
"source": "model",
"xp_gained": 0,
"xp_total": 300,
"xp_to_next_level": 0,
"level_up_available": true,
"loot": [],
"gold": 0,
"current_level": 1,
"current_xp": 300,
"next_level_xp": 300,
"new_level": 2,
"resolved_target_level": 2,
"progress_percent": 100.0
},
"action_input": "I look around the fortress and consider my next move.",
"user_email": "[email protected]",
"details": {
"chunk_count_observed": 37,
"chunk_count": 37,
"done_chunk_count": 37,
"request_ts": "2026-05-22T09:30:59.105315+00:00",
"response_ts": "2026-05-22T09:31:15.223982+00:00",
"stream_actions": 1,
"execution_path": "streaming"
},
"raw_response_text": "{\n \"session_header\": \"[SESSION_HEADER]\\nTimestamp: 1492 DR, Hammer 1, 08:00:00\\nLocation: Stone Training Fortress\\nStatus: Lvl 1 (Lvl 2 available) | HP: 12/12 | XP: 300/300 | Gold: 10gp\\nConditions: None | Exhaustion: 0 | Inspiration: No\",\n \"resources\": \"HD: 1/1, Spells: No Spells Yet (Level 2 pending)\",\n \"narrative\": \"The heavy iron-bound doors of the barracks creak open, revealing the sprawling courtyard of the Stone Training Fortress. The morning sun catches the grey granite walls, still damp from the dawn mist. Bren stands at the threshold, the weight of his longsword and shield familiar and grounding. He has spent countless hours here, striking straw dummies and sparring with veterans until his muscles burned with fatigue. Today, however, the air feels charged with a different energy. The master-at-arms gave him a short, sharp nod as he passed\u2014a silent acknowledgment that his basic apprenticeship is over. Bren can feel the latent potential within himself, a reservoir of stamina and tactical insight waiting to be tapped. He is no longer a mere trainee; he is a warrior ready to define his own path through the forge of experience.\",\n \"level_up_signal\": {\n \"current_level\": 1,\n \"target_level\": 2\n },\n \"rewards_box\": {\n \"source\": \"milestone\",\n \"xp_gained\": 0,\n \"current_xp\": 300,\n \"next_level_xp\": 300,\n \"level_up_available\": true,\n \"new_level\": 2,\n \"loot\": [\n \"None\"\n ],\n \"gold\": 0\n },\n \"planning_block\": {\n \"thinking\": \"Bren has reached the 300 XP threshold for Level 2. Per the Level-Up Protocol, the first response offering a level-up must present only the 'level_up_now' choice to transition into the character management modal. No story progression is resolved until the modal is accepted or deferred.\",\n \"choices\": [\n {\n \"id\": \"level_up_now\",\n \"text\": \"Level Up to Level 2\",\n \"description\": \"Advance Bren to Level 2, gaining increased Hit Points and the Action Surge feature.\",\n \"risk_level\": \"safe\",\n \"freeze_time\": true\n }\n ]\n },\n \"state_updates\": {\n \"world_data\": {\n \"world_time\": {\n \"year\": 1492,\n \"month\": \"Hammer\",\n \"day\": 1,\n \"hour\": 8,\n \"minute\": 0,\n \"second\": 0,\n \"microsecond\": 0,\n \"time_of_day\": \"Morning\"\n },\n \"location\": \"Stone Training Fortress\"\n },\n \"custom_campaign_state\": {\n \"core_memories\": {\n \"append\": \"Bren has completed his basic training at the Stone Training Fortress and is ready to advance to Level 2.\"\n }\n }\n },\n \"entities_mentioned\": [\n \"Bren\"\n ],\n \"location_confirmed\": \"Stone Training Fortress\",\n \"god_mode_response\": \"\"\n}",
"model": "gemini-3-flash-preview"
},
{
"name": "modal_mechanic_plus_finish_freeze_time",
"passed": true,
"errors": [],
"campaign_id": "fGI6UESr4NggVsT9eE5d",
"user_id": "test-level_up_entry_offer_pr6958-1779442156",
"modal_entry_choice_ids": [
"level_up_hp_fixed",
"level_up_hp_roll",
"finish_level_up_return_to_game"
],
"modal_entry_raw_choice_ids": [
"level_up_hp_fixed",
"level_up_hp_roll",
"finish_level_up_return_to_game"
],
"modal_entry_raw_mechanic_choice_ids": [
"level_up_hp_fixed",
"level_up_hp_roll"
],
"freeze_time_verified": true,
"finish_seen": true,
"transcript": [
{
"input": "CHOICE:level_up_now",
"choice_ids": [
"level_up_hp_fixed",
"level_up_hp_roll",
"finish_level_up_return_to_game"
],
"raw_choice_ids": [
"level_up_hp_fixed",
"level_up_hp_roll",
"finish_level_up_return_to_game"
],
"raw_mechanic_choice_ids": [
"level_up_hp_fixed",
"level_up_hp_roll"
]
},
{
"input": "CHOICE:finish_level_up_return_to_game",
"choice_ids": [
"initiate_combat_test",
"calibrate_action_surge",
"inspect_equipment"
]
}
],
"user_email": "[email protected]",
"details": {
"chunk_count_observed": 72,
"chunk_count": 72,
"done_chunk_count": 72,
"request_ts": "2026-05-22T09:31:59.668769+00:00",
"response_ts": "2026-05-22T09:32:58.289758+00:00",
"stream_actions": 2,
"execution_path": "streaming"
},
"raw_response_text": "{\n \"session_header\": \"[SESSION_HEADER]\\nTimestamp: 1492 DR, Mirtul 15, 08:00:00\\nLocation: The Proving Ground - Chamber Alpha\\nStatus: Lvl 1 Fighter | HP: 12/12 | XP: 300/300 | Gold: 10gp\",\n \"resources\": \"HD: 1/1 | Spells: No Spells Yet (Level 2 pending) | Second Wind: 1/1\",\n \"narrative\": \"Morning (08:00:00) in the Proving Ground - Chamber Alpha. You stand in the center of a sterile, obsidian-floored arena. Humming conduits of blue energy line the walls, pulsing in sync with the calibration sequence currently displayed on the holographic emitters overhead. A synthesized voice chimes through the chamber: 'Subject Lyra: Initial calibration complete. Neural pathways synchronized. Initiating level-up protocol simulation.'\\n\\nYou gain 300 XP for completing the Initial Calibration Sequence!\",\n \"planning_block\": {\n \"thinking\": \"The adventure has begun within the controlled environment of the Proving Ground. The initial calibration has yielded sufficient data to authorize a level-up. Per protocol, I must offer the level-up choice immediately to test the modal-active state transitions.\",\n \"context\": \"Adventure Start - Calibration Complete\",\n \"choices\": [\n {\n \"id\": \"level_up_now\",\n \"text\": \"Level Up to Level 2\",\n \"description\": \"Access the Level-Up Modal to apply Fighter level 2 benefits.\",\n \"risk_level\": \"safe\",\n \"freeze_time\": true\n }\n ]\n },\n \"rewards_box\": {\n \"source\": \"milestone\",\n \"xp_gained\": 300,\n \"current_xp\": 300,\n \"next_level_xp\": 300,\n \"level_up_available\": true,\n \"new_level\": 2,\n \"loot\": [\n \"None\"\n ],\n \"gold\": 0\n },\n \"level_up_signal\": {\n \"current_level\": 1,\n \"target_level\": 2\n },\n \"god_mode_response\": \"\",\n \"entities_mentioned\": [\n \"Lyra\"\n ],\n \"location_confirmed\": \"The Proving Ground - Chamber Alpha\",\n \"action_resolution\": {\n \"player_input\": \"Start Adventure\",\n \"interpreted_as\": \"begin_scenario\",\n \"reinterpreted\": false,\n \"audit_flags\": []\n },\n \"state_updates\": {\n \"player_character_data\": {\n \"name\": \"Lyra\",\n \"display_name\": \"Lyra\",\n \"entity_id\": \"pc_lyra_001\",\n \"race\": \"Human\",\n \"experience\": {\n \"current\": 300\n }\n },\n \"world_data\": {\n \"world_time\": {\n \"year\": 1492,\n \"month\": \"Mirtul\",\n \"day\": 15,\n \"hour\": 8,\n \"minute\": 0,\n \"second\": 0,\n \"microsecond\": 1,\n \"time_of_day\": \"morning\"\n }\n },\n \"custom_campaign_state\": {\n \"core_memories\": {\n \"append\": \"Lyra successfully completed the initial calibration in the Proving Ground, earning enough experience to reach Level 2.\"\n }\n }\n }\n}",
"model": "gemini-3-flash-preview"
},
{
"name": "selection_accumulation_and_clear",
"passed": true,
"errors": [],
"warnings": [
"pending_level_up_selections absent after selecting 'level_up_hp_fixed'; LLM did not write it. Server only clears it (does not enforce write)."
],
"campaign_id": "Ufas7TSNvZLA6qqG23tA",
"user_id": "test-level_up_entry_offer_pr6958-1779442156",
"mechanic_choices_made": [
"level_up_hp_fixed"
],
"mechanic_ids_step1": [
"level_up_hp_fixed",
"level_up_hp_roll",
"level_up_fighting_style_dueling",
"level_up_fighting_style_defense",
"level_up_fighting_style_great_weapon",
"level_up_fighting_style_archery"
],
"ids_after_first_mechanic": [
"level_up_fighting_style_dueling",
"level_up_fighting_style_defense",
"level_up_fighting_style_great_weapon",
"level_up_fighting_style_archery",
"finish_level_up_return_to_game"
],
"pending_level_up_selections_after_first_mechanic": null,
"pending_level_up_selections_after_finish": null,
"level_up_in_progress_after_first_mechanic": true,
"level_up_complete_after_finish": true,
"user_email": "[email protected]",
"details": {
"chunk_count_observed": 120,
"chunk_count": 120,
"done_chunk_count": 120,
"request_ts": "2026-05-22T09:33:37.967922+00:00",
"response_ts": "2026-05-22T09:35:16.593996+00:00",
"stream_actions": 3,
"execution_path": "streaming"
},
"raw_response_text": "{\n \"session_header\": \"[Mode: STORY MODE]\\n[SESSION_HEADER]\\nTimestamp: 1492 DR, Hammer 1, 08:00:00\\nLocation: Dueling Academy Courtyard\\nStatus: Lvl 1 Fighter | HP: 12/12 | XP: 300/300 | Gold: 10gp\\nConditions: Normal | Exhaustion: 0 | Inspiration: No\",\n \"resources\": \"HD: 1/1 | Spells: No Spells Yet (Level 2 pending) | Exhaustion: 0\",\n \"narrative\": \"Morning (08:00:00) at the Dueling Academy Courtyard\u2014the sun casts long, sharp shadows across the stone tiles as you stand before the towering gates of the training grounds. The air is thick with the scent of pine oil and the distant, rhythmic clatter of practice blades echoing from the pits. Master Hrothgar (Lvl 12), a man whose face is a roadmap of scars earned through decades of discipline, nods curtly as he verifies your enrollment papers. \\\"Welcome to the forge, Dorn (Lvl 1). Most who enter these halls seek the glory of the duel, but few possess the iron will to endure the training. Your journey into the deeper techniques begins today.\\\"\",\n \"planning_block\": {\n \"thinking\": \"Dorn has officially arrived at the academy and completed his enrollment, which serves as the first major milestone of his journey. This orientation provides the final burst of experience needed to reach the Level 2 threshold. Following the Level-Up Entry protocol, I am presenting the 'level_up_now' choice as the exclusive option to signal that a character advancement is available before training begins.\",\n \"choices\": [\n {\n \"id\": \"level_up_now\",\n \"text\": \"Level Up to Level 2\",\n \"description\": \"Your enrollment and initial orientation at the academy have provided a surge of insight. You are ready to advance your techniques to Level 2.\",\n \"risk_level\": \"safe\",\n \"freeze_time\": true\n }\n ]\n },\n \"rewards_box\": {\n \"source\": \"milestone\",\n \"xp_gained\": 300,\n \"current_xp\": 300,\n \"next_level_xp\": 300,\n \"loot\": [\n \"None\"\n ],\n \"gold\": 0,\n \"level_up_available\": true,\n \"new_level\": 2\n },\n \"level_up_signal\": {\n \"current_level\": 1,\n \"target_level\": 2\n },\n \"state_updates\": {\n \"player_character_data\": {\n \"experience\": {\n \"current\": 300,\n \"needed_for_next_level\": 300\n }\n },\n \"custom_campaign_state\": {\n \"core_memories\": {\n \"append\": \"Dorn (Lvl 1) arrived at the Dueling Academy and was greeted by Master Hrothgar (Lvl 12) to begin his Fighter training.\"\n }\n }\n },\n \"action_resolution\": {\n \"reinterpreted\": false,\n \"audit_flags\": [],\n \"narrative_outcome\": \"Dorn begins his journey at the Dueling Academy and reaches Level 2.\"\n },\n \"entities_mentioned\": [\n \"Master Hrothgar (Lvl 12)\",\n \"Dorn (Lvl 1)\"\n ],\n \"location_confirmed\": \"Dueling Academy Courtyard\"\n}",
"model": "gemini-3-flash-preview"
},
{
"name": "class_feature_spell_edit_flow",
"passed": true,
"errors": [],
"warnings": [],
"campaign_id": "2nVjgZSX8B0FuXoGw6Nd",
"user_id": "test-level_up_entry_offer_pr6958-1779442156",
"modal_choice_ids": [
"level_up_change_hp_roll",
"level_up_change_asi_feat",
"level_up_change_spells",
"finish_level_up_return_to_game"
],
"modal_raw_choice_ids": [
"level_up_change_hp_roll",
"level_up_change_asi_feat",
"level_up_change_spells",
"finish_level_up_return_to_game"
],
"non_hp_mechanic_ids_at_modal_entry": [
"level_up_change_asi_feat",
"level_up_change_spells"
],
"all_non_hp_mechanic_ids_seen": [
"level_up_change_asi_feat",
"level_up_change_spells",
"level_up_feat_war_caster",
"level_up_feat_resilient_con",
"level_up_feat_fey_touched",
"level_up_feat_telekinetic",
"level_up_asi_intelligence"
],
"spell_like_ids_at_modal_entry": [
"level_up_change_spells"
],
"feature_like_ids_at_modal_entry": [
"level_up_change_asi_feat"
],
"selections_made": [
"level_up_change_asi_feat",
"level_up_feat_war_caster"
],
"categories_navigated": [
"asi",
"feature"
],
"switch_demonstrated": true,
"switch_event": {
"prior_selection": "level_up_change_asi_feat",
"alternatives": [
"level_up_asi_intelligence"
],
"category": "asi",
"detected_at_step": 1
},
"finish_reached": true,
"level_up_complete_in_firestore": true,
"transcript": [
{
"input": "CHOICE:level_up_now",
"choice_ids": [
"level_up_change_hp_roll",
"level_up_change_asi_feat",
"level_up_change_spells",
"finish_level_up_return_to_game"
],
"raw_choice_ids": [
"level_up_change_hp_roll",
"level_up_change_asi_feat",
"level_up_change_spells",
"finish_level_up_return_to_game"
],
"hp_ids": [
"level_up_change_hp_roll"
],
"non_hp_mechanic_ids": [
"level_up_change_asi_feat",
"level_up_change_spells"
],
"spell_like_ids": [
"level_up_change_spells"
],
"feature_like_ids": [
"level_up_change_asi_feat"
]
},
{
"step": 0,
"input": "CHOICE:level_up_change_asi_feat",
"choice_ids": [
"level_up_feat_war_caster",
"level_up_feat_resilient_con",
"level_up_feat_fey_touched",
"level_up_feat_telekinetic",
"level_up_asi_intelligence",
"finish_level_up_return_to_game"
],
"category": "asi"
},
{
"step": 1,
"input": "CHOICE:level_up_feat_war_caster",
"choice_ids": [
"level_up_change_feat",
"level_up_change_spells",
"level_up_change_hp",
"finish_level_up_return_to_game"
],
"category": "feature"
},
{
"step": "1_finish_after_switch",
"input": "CHOICE:finish_level_up_return_to_game",
"choice_ids": [
"test_spells_training_grounds",
"research_restricted_archives",
"depart_academy"
]
}
],
"user_email": "[email protected]",
"details": {
"chunk_count_observed": 173,
"chunk_count": 173,
"done_chunk_count": 173,
"request_ts": "2026-05-22T09:36:52.862920+00:00",
"response_ts": "2026-05-22T09:38:33.620157+00:00",
"stream_actions": 4,
"execution_path": "streaming"
},
"raw_response_text": "{\n \"session_header\": \"[SESSION_HEADER]\\nTimestamp: 1492 DR, Mirtul 15, 08:00:00\\nLocation: The Arcane Academy library\\nStatus: Lvl 3 Wizard (Lvl 4 available) | HP: 17/17 | XP: 2700/2700 | Gold: 75gp\\nConditions: Normal | Exhaustion: 0 | Inspiration: No\",\n \"resources\": \"HD: 3/3 | Spells: L1 4/4, L2 2/2 | (Level 4 pending) | Exhaustion: 0\",\n \"narrative\": \"The ancient silence of the library is broken only by the scratching of a quill and the soft rustle of Aria's own breathing. As her mind delves into the intricate geometries of the Weave, the patterns of the fourth level of arcane mastery begin to coalesce. The light through the arched windows seems to shimmer with possibilities, each mote of dust a potential spark of evocation. \\n\\nBefore you step out from these hallowed halls and truly begin your next adventure, the resonance in your spirit demands attention. Your understanding of magic has reached a critical juncture\u2014a moment of clarity where your previous studies integrate into a more powerful whole. To venture forth without embracing this growth would be to ignore the very call of the arcane that brought you to the Academy.\",\n \"level_up_signal\": {\n \"current_level\": 3,\n \"target_level\": 4\n },\n \"rewards_box\": {\n \"source\": \"milestone\",\n \"xp_gained\": 0,\n \"current_xp\": 2700,\n \"next_level_xp\": 2700,\n \"level_up_available\": true,\n \"new_level\": 4,\n \"loot\": [\n \"None\"\n ],\n \"gold\": 0\n },\n \"planning_block\": {\n \"thinking\": \"Aria has reached the 2,700 XP threshold for Level 4. The level-up modal flow requires an explicit entry choice to ensure character mechanics are finalized before the story resumes. Time remains frozen at the current timestamp.\",\n \"choices\": [\n {\n \"id\": \"level_up_now\",\n \"text\": \"Level Up to Level 4\",\n \"description\": \"Apply Wizard level 4 benefits immediately: Ability Score Improvement or Feat, additional HP, and new spell selections.\",\n \"risk_level\": \"safe\",\n \"freeze_time\": true\n }\n ]\n },\n \"action_resolution\": {\n \"player_input\": \"Start Adventure\",\n \"interpreted_as\": \"start_adventure\",\n \"reinterpreted\": true,\n \"audit_flags\": [\n \"player_declared_outcome\"\n ],\n \"narrative_outcome\": \"Adventure start paused for mandatory level-up processing.\"\n },\n \"state_updates\": {\n \"custom_campaign_state\": {\n \"level_up_pending\": true,\n \"level_up_in_progress\": false,\n \"level_up_complete\": false,\n \"core_memories\": {\n \"append\": \"Aria is poised to advance to Level 4 at the Arcane Academy library; the Weave resonates with her imminent growth.\"\n }\n },\n \"world_data\": {\n \"world_time\": {\n \"year\": 1492,\n \"month\": \"Mirtul\",\n \"day\": 15,\n \"hour\": 8,\n \"minute\": 0,\n \"second\": 0,\n \"microsecond\": 1,\n \"time_of_day\": \"Morning\"\n }\n }\n },\n \"entities_mentioned\": [\n \"Aria\"\n ],\n \"location_confirmed\": \"The Arcane Academy library\"\n}",
"model": "gemini-3-flash-preview"
},
{
"name": "EVIDENCE_SIGNATURE_GUARD",
"passed": true,
"signed_count": 18,
"user_id": "test-level_up_entry_offer_pr6958-1779442156"
}
],
"summary": {
"total": 5,
"passed": 5,
"failed": 0,
"pass_rate": "5/5 (100%)",
"raw_total": 4,
"raw_passed": 4,
"raw_pass_rate": "100.0%",
"raw_data_complete": true
},
"campaign_capture_status": {
"2nVjgZSX8B0FuXoGw6Nd": {
"status": "success",
"attempts": 1,
"export": {
"status": "success"
}
},
"Ufas7TSNvZLA6qqG23tA": {
"status": "success",
"attempts": 1,
"export": {
"status": "success"
}
},
"fGI6UESr4NggVsT9eE5d": {
"status": "success",
"attempts": 1,
"export": {
"status": "success"
}
},
"y6l3NliG1GnCt7vtPv6s": {
"status": "success",
"attempts": 1,
"export": {
"status": "success"
}
}
}
}
{
"version": "1.0.0",
"generated_at": "2026-05-22T09:38:37.285056+00:00",
"summary": {
"scenarios_with_streaming_evidence": 4,
"total_chunk_events_observed": 402,
"stream_http_calls_captured": 18,
"process_action_calls_captured": 18,
"mcp_process_action_calls_captured": 0,
"route_stream_process_action_calls_captured": 18,
"process_action_calls_with_raw_response_text": 14
},
"scenarios": [
{
"name": "entry_offer_level_up_now_only",
"campaign_id": "y6l3NliG1GnCt7vtPv6s",
"passed": true,
"chunk_count_observed": 37,
"done_chunk_count": 37,
"chunk_count_matches_done": null,
"strictly_increasing_sequence": null,
"streaming_request_timestamp": "2026-05-22T09:30:59.105315+00:00",
"streaming_response_timestamp": "2026-05-22T09:31:15.223982+00:00",
"timeline_sample_size": 0
},
{
"name": "modal_mechanic_plus_finish_freeze_time",
"campaign_id": "fGI6UESr4NggVsT9eE5d",
"passed": true,
"chunk_count_observed": 72,
"done_chunk_count": 72,
"chunk_count_matches_done": null,
"strictly_increasing_sequence": null,
"streaming_request_timestamp": "2026-05-22T09:31:59.668769+00:00",
"streaming_response_timestamp": "2026-05-22T09:32:58.289758+00:00",
"timeline_sample_size": 0
},
{
"name": "selection_accumulation_and_clear",
"campaign_id": "Ufas7TSNvZLA6qqG23tA",
"passed": true,
"chunk_count_observed": 120,
"done_chunk_count": 120,
"chunk_count_matches_done": null,
"strictly_increasing_sequence": null,
"streaming_request_timestamp": "2026-05-22T09:33:37.967922+00:00",
"streaming_response_timestamp": "2026-05-22T09:35:16.593996+00:00",
"timeline_sample_size": 0
},
{
"name": "class_feature_spell_edit_flow",
"campaign_id": "2nVjgZSX8B0FuXoGw6Nd",
"passed": true,
"chunk_count_observed": 173,
"done_chunk_count": 173,
"chunk_count_matches_done": null,
"strictly_increasing_sequence": null,
"streaming_request_timestamp": "2026-05-22T09:36:52.862920+00:00",
"streaming_response_timestamp": "2026-05-22T09:38:33.620157+00:00",
"timeline_sample_size": 0
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment