-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Description
When asking the LLM to show or list modes, it returns all mode names and their mappings but does not indicate which mode is currently active. Only one mode is active at a time, so this is important context.
Root Cause
The data is available but the LLM doesn't know to use it:
-
conductor_get_statusreturnscurrent_modein its response (populated fromengine_manager.rs:1019):{ "current_mode": "Mix", "running": true, ... } -
conductor_get_configreturns all modes but with no indication of which is active — the config is static, mode selection is runtime state. -
The system prompt (
chat.js~line 991) mentionsconductor_switch_modefor switching modes, but never instructs the LLM to:- Call
conductor_get_statusto check the active mode - Include "active" / "current" annotation when listing modes
- Correlate status
current_modewith the config's mode list
- Call
Recommendation
1. Update system prompt
Add guidance in the mode management section:
When the user asks about modes or "show modes":
1. Call conductor_get_config to get the mode list
2. Call conductor_get_status to get the current_mode
3. Mark the active mode in your response (e.g., "Mix (active)")
2. Consider enhancing conductor_get_config response
Optionally, include current_mode in the conductor_get_config response alongside the modes list, so the LLM gets both in a single tool call. This would require passing the current mode state into get_config() in mcp_tools.rs.
Priority
P3 — Missing context in LLM responses, doesn't affect functionality.
Acceptance Criteria
- When user asks "show modes" or similar, LLM response indicates which mode is currently active
- System prompt includes guidance to check active mode via
conductor_get_status - Active mode is clearly distinguished in the response (e.g., "(active)" label, bold, or similar)