Orchestration System Testing Guide
This guide provides step-by-step instructions for manually testing the orchestration system in Radium TUI.
Overviewβ
The orchestration system allows users to interact naturally with Radium without explicitly selecting agents. The orchestrator automatically routes tasks to appropriate specialist agents and coordinates multi-agent workflows.
Prerequisitesβ
- Radium TUI installed and configured
- At least one AI provider configured (Gemini, Claude, or OpenAI)
- API keys set up in credential store
Test Scenariosβ
1. Basic Orchestration - Natural Language Inputβ
Objective: Verify that natural language input routes to orchestration automatically.
Steps:
- Start Radium TUI:
radium-tui - Type a natural language request (without
/prefix), for example:- "I need to refactor the authentication module"
- "Create a new feature for task templates"
- "Help me debug this error in the API"
- Press Enter
Expected Results:
- System displays "π€ Analyzing task..." indicator
- Orchestrator selects appropriate agent(s)
- Agent execution progress is shown
- Final response is displayed with results
Troubleshooting:
- If orchestration is disabled, you'll see: "Orchestration disabled. Use /chat or /agents for interaction."
- Enable orchestration with:
/orchestrator toggle
2. Orchestration Status Commandβ
Objective: Verify the /orchestrator command displays current configuration.
Steps:
- In TUI, type:
/orchestrator - Press Enter
Expected Results:
- Status display shows:
- Enabled: β Yes or β No
- Provider: Current provider name (e.g., "gemini", "claude")
- Default: Default provider setting
- Service: Initialization status
Troubleshooting:
- If service shows "Not initialized", orchestration may need to be enabled first
- Check API keys are configured if initialization fails
3. Enable/Disable Orchestrationβ
Objective: Verify orchestration can be toggled on/off.
Steps:
- Type:
/orchestrator toggle - Press Enter
- Type:
/orchestratorto verify status changed - Type:
/orchestrator toggleagain to toggle back
Expected Results:
- First toggle: "Orchestration enabled" or "Orchestration disabled"
- Status command shows updated enabled state
- When disabled, natural input falls back to direct chat mode
Troubleshooting:
- If toggle doesn't work, check that orchestration service initialized correctly
- Verify configuration file is writable
4. Provider Switchingβ
Objective: Test switching between different orchestration providers.
Steps:
- Type:
/orchestrator switch gemini - Press Enter
- Verify status:
/orchestrator - Switch to another provider:
/orchestrator switch claude - Verify status again
Expected Results:
- Confirmation message: "β Switched to [provider] successfully"
- Status shows new provider
- Next orchestration request uses new provider
Available Providers:
gemini- Google Gemini modelsclaude- Anthropic Claude modelsopenai- OpenAI GPT modelsprompt_basedorprompt-based- Prompt-based fallback
Error Cases:
- Invalid provider:
/orchestrator switch invalid- Expected: Error message listing available providers
- Missing provider:
/orchestrator switch- Expected: Usage message showing correct syntax
Troubleshooting:
- Ensure API keys are configured for the provider you're switching to
- Some providers may require specific model configurations
5. Multi-Agent Workflowsβ
Objective: Test orchestration coordinating multiple agents for complex tasks.
Steps:
- Type a complex request that likely requires multiple agents, for example:
- "Create a new feature for task templates with tests and documentation"
- "Refactor the authentication system and add comprehensive tests"
- Press Enter
Expected Results:
- Orchestrator shows multi-agent workflow plan:
- "π Multi-agent workflow planned:"
- List of agents to be invoked
- Sequential or parallel execution indicators
- Progress shown for each agent
- Final synthesized result combining all agent outputs
Troubleshooting:
- If only one agent is invoked, the task may be simple enough for single-agent handling
- Check agent registry has multiple agents available
- Verify agents are properly configured and discoverable
6. Error Handling and Fallbackβ
Objective: Test graceful error handling and fallback behavior.
Test Cases:
6.1 API Rate Limitβ
- Make multiple rapid orchestration requests
- Expected: Clear error message about rate limits, suggestion to retry
6.2 Invalid API Keyβ
- Temporarily remove or invalidate API key
- Attempt orchestration
- Expected: Authentication error message with instructions to check API key
6.3 Provider Unavailableβ
- Switch to a provider without API key configured
- Attempt orchestration
- Expected: Fallback to prompt-based orchestration (if enabled) or clear error
6.4 Timeout Handlingβ
- Request a very complex task that may timeout
- Expected: Timeout message after 5 minutes, suggestion to simplify task
Troubleshooting:
- Check logs for detailed error information
- Verify fallback configuration in config file
- Ensure network connectivity
7. Command Input Bypassβ
Objective: Verify that explicit commands bypass orchestration.
Steps:
- Ensure orchestration is enabled:
/orchestrator toggle - Type:
/chat my-agent(explicit command) - Press Enter
- Type:
/agents(another explicit command) - Press Enter
Expected Results:
- Commands starting with
/are handled by command system - Orchestration is bypassed for explicit commands
- Direct agent interaction works as expected
Troubleshooting:
- If commands don't work, check command parsing
- Verify agent IDs are correct
8. Configuration Managementβ
Objective: Test configuration loading and runtime changes.
Steps:
- Check current configuration:
/orchestrator - Modify config file manually (if applicable)
- Restart TUI
- Verify configuration loaded correctly
Expected Results:
- Configuration persists across restarts
- Runtime changes (via commands) take effect immediately
- Config file changes require restart
Configuration File Location:
- Default:
~/.radium/config.toml - Check
[orchestration]section
Key Settings:
[orchestration]
enabled = true
provider = "gemini" # or "claude", "openai", "prompt-based"
[orchestration.gemini]
model = "gemini-2.0-flash-thinking-exp"
temperature = 0.7
max_tool_iterations = 5
Performance Validationβ
Benchmark Targetsβ
Run performance benchmarks to verify orchestration overhead:
cargo bench -p radium-orchestrator --bench orchestration_benchmark
Target Metrics:
- Engine creation: < 10Β΅s
- Provider selection: < 1Β΅s
- Tool registry build (100 tools): < 10ms
- Single tool call overhead: < 5ms
- Multi-tool iteration (5 iterations): < 50ms
Overall Target: < 500ms overhead for orchestration layer (excluding API calls)
Common Issues and Solutionsβ
Issue: Orchestration Not Respondingβ
Symptoms: Natural input doesn't trigger orchestration
Solutions:
- Check orchestration is enabled:
/orchestrator - Enable if disabled:
/orchestrator toggle - Verify service initialized: Check status output
- Check API keys are configured
Issue: Wrong Agent Selectedβ
Symptoms: Orchestrator selects incorrect agent for task
Solutions:
- Check agent descriptions are clear and accurate
- Verify agent registry loaded correctly
- Try rephrasing the request more specifically
- Use explicit
/chat <agent-id>for direct control
Issue: Multi-Agent Workflow Failsβ
Symptoms: Multi-agent tasks don't complete or fail midway
Solutions:
- Check all required agents are available
- Verify agent execution permissions
- Check logs for specific agent failures
- Try breaking task into smaller pieces
Issue: Provider Switch Failsβ
Symptoms: Cannot switch to different provider
Solutions:
- Verify API key for target provider is configured
- Check provider name spelling (case-insensitive)
- Verify provider is supported
- Check configuration file permissions
Test Checklistβ
Use this checklist to verify all orchestration features:
- Natural language input routes to orchestration
-
/orchestratorcommand shows status -
/orchestrator toggleenables/disables orchestration -
/orchestrator switch <provider>changes provider - Invalid provider shows helpful error
- Multi-agent workflows execute correctly
- Error handling works (rate limits, auth failures, timeouts)
- Fallback to prompt-based works when configured
- Command input (with
/) bypasses orchestration - Configuration persists across restarts
- Performance benchmarks meet targets
Additional Resourcesβ
Reporting Issuesβ
If you encounter issues during testing:
- Note the exact steps to reproduce
- Check TUI output and error messages
- Review logs:
~/.radium/logs/radium-core.log - Report with:
- Radium version
- Provider being used
- Error messages
- Relevant log excerpts