The gateway middleware was not including demo_account_type in the
request.state.user context, causing the tenant API to filter with
an empty account type.
## The Bug:
Gateway middleware set:
- demo_session_id ✅
- is_demo ✅
- demo_account_type ❌ MISSING!
This caused get_virtual_tenants_for_session() to be called with
demo_account_type="" (empty string), which returned only the parent
tenant instead of parent + 5 children.
## Log Evidence:
Before fix:
Demo session detected for get_user_tenants
demo_account_type= ← EMPTY!
tenant_count=1 ← Only parent!
After fix (expected):
Demo session detected for get_user_tenants
demo_account_type=enterprise
tenant_count=6 ← Parent + 5 children!
## Fix:
Added line 211 in gateway/app/middleware/demo_middleware.py:
"demo_account_type": session_info.get("demo_account_type", "professional")
This ensures the tenant service knows whether it's an enterprise or
professional demo session and returns the correct tenant list.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>