-
-
Notifications
You must be signed in to change notification settings - Fork 2
bug: DM fallback routes all input to generic 'you continue your journey' — no keyword routing #723
Description
Summary
When Azure OpenAI is unavailable, the DungeonMasterAgent fallback has minimal keyword routing. Testing showed:
| Player Input | Fallback Response |
|---|---|
| 'I look around the room' | 'You continue your journey.' |
| 'I cast fireball' | 'You continue your journey.' |
| 'I search for traps' | 'You continue your journey.' |
| 'I attack the goblin' | 'You attack your foe.' |
The fallback only matches a handful of verbs (attack/fight/combat) and returns the same generic phrase for everything else. This means:
- Spell casting returns a non-spell response
- Exploration returns no discoveries
- Social interactions return nothing useful
- Investigation returns nothing
Additionally
All responses are prefixed with [AI model not configured] which leaks to the game chat UI (see #719).
Observation
When Azure IS configured, the same inputs should trigger different specialist agents (CombatMCAgent for attacks, NarratorAgent for exploration, etc.). The fallback completely bypasses this routing and provides no gameplay value.
Files
backend/app/agents/dungeon_master_agent.py—_fallback_response()
Fix
Expand the fallback routing to at least distinguish: combat/attack inputs, spell inputs, exploration inputs, social inputs. Each should return a contextually appropriate stub rather than the universal 'you continue your journey'.