Skip to content

feat(config): add ComplexityRoutingConfig and LlmRoutingStrategy::Triage #2143

@bug-ops

Description

@bug-ops

Parent epic: #2141

Phase 2: Config + bootstrap

Tasks

  • Add ComplexityRoutingConfig struct to zeph-config/src/providers.rs:
    • enabled: bool, triage_provider: Option<String>, bypass_single_provider: bool
    • ComplexityTierMapping with simple/medium/complex/expert: Option<String> (provider names)
  • Add LlmRoutingStrategy::Triage variant
  • Bootstrap: resolve triage_provider name to ProviderEntry from pool, build via build_provider_from_entry()
  • Config validation: triage_provider must reference an existing pool entry
  • --migrate-config support (no migration needed from legacy — new feature)
  • Add [llm.complexity_routing] section to config/default.toml (disabled by default)

Key files

  • crates/zeph-config/src/providers.rs
  • crates/zeph-core/src/bootstrap/provider.rs
  • config/default.toml

Acceptance criteria

  • Config round-trips through TOML serialize/deserialize
  • Validation rejects nonexistent triage_provider name
  • bypass_single_provider = true skips triage when pool has 1 entry

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestllmzeph-llm crate (Ollama, Claude)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions