ai-dispatch 10.50.0

Multi-AI CLI team orchestrator
// Existing disabled-agent fallback coverage; advice owns routing tests.
// Exports: test cases only.
// Deps: selection helpers, agent_config, Store, AidHomeGuard.

use super::coding_fallback_for;
use crate::agent_config;
use crate::paths::AidHomeGuard;
use crate::types::AgentKind;

#[test]
fn fallback_chain_skips_disabled_agent() {
    let dir = tempfile::tempdir().expect("tempdir");
    let _guard = AidHomeGuard::set(dir.path());
    let _agents = crate::agent::DetectAgentsGuard::set(vec![
        AgentKind::Gemini,
        AgentKind::Qwen,
        AgentKind::Codex,
    ]);
    agent_config::save_agent_disabled("qwen", true).expect("disable agent");

    let result = coding_fallback_for(&AgentKind::Gemini, None, None);

    assert_eq!(result, Some(AgentKind::Codex));
}