Skip to content

refactor(zeph-llm): remove dead ModelOrchestrator in favour of RouterProvider#2546

Merged
bug-ops merged 1 commit intomainfrom
feat/issue-2540/remove-dead-orchestrator
Mar 31, 2026
Merged

refactor(zeph-llm): remove dead ModelOrchestrator in favour of RouterProvider#2546
bug-ops merged 1 commit intomainfrom
feat/issue-2540/remove-dead-orchestrator

Conversation

@bug-ops
Copy link
Copy Markdown
Owner

@bug-ops bug-ops commented Mar 31, 2026

Closes #2540

Summary

  • Deleted crates/zeph-llm/src/orchestrator/ (~2700 lines: ModelOrchestrator, SubProvider, TaskType, ModelSelection)
  • Removed AnyProvider::Orchestrator variant and all match arms (any.rs, health.rs, bootstrap/mod.rs, guardrail.rs)
  • Removed orchestrator_* wizard fields and "Orchestrator (multi-model)" choice from src/init.rs
  • Simplified chat_with_named_provider / chat_with_named_provider_and_tools — removed Orchestrator special-case, kept delegating fallback (external callers preserved)
  • Incidental clippy fixes in ibct.rs and single-arm match → if let in guardrail.rs / health.rs

migrate.rs "orchestrator" branch is intentionally kept for backward-compatible config migration.

Test plan

  • cargo +nightly fmt --check — pass
  • cargo clippy --features full --workspace -- -D warnings — pass, zero warnings
  • cargo nextest run --features full --workspace --lib --bins — 7573/7573 passed
  • grep -r "ModelOrchestrator\|AnyProvider::Orchestrator" — zero results

@github-actions github-actions bot added refactor Code refactoring without functional changes size/XL Extra large PR (500+ lines) documentation Improvements or additions to documentation llm zeph-llm crate (Ollama, Claude) rust Rust code changes core zeph-core crate and removed size/XL Extra large PR (500+ lines) labels Mar 31, 2026
…Provider

ModelOrchestrator and its orchestrator/ module were never instantiated at
runtime. LlmRoutingStrategy::Task was a stub that fell through to a single
provider. All real routing uses RouterProvider (EMA/Thompson/Cascade/Bandit)
and TriageRouter, which are strictly more capable.

Remove:
- crates/zeph-llm/src/orchestrator/ (mod.rs, classifier.rs, router.rs, ~2700 lines)
- AnyProvider::Orchestrator variant and all match arms
- orchestrator_* fields and wizard choice from init.rs
- Dead branches in bootstrap/mod.rs, bootstrap/health.rs, guardrail.rs

Keep:
- chat_with_named_provider / chat_with_named_provider_and_tools (external callers)
- migrate.rs "orchestrator" branch (backward compat for legacy configs)

Fixes #2540
@bug-ops bug-ops force-pushed the feat/issue-2540/remove-dead-orchestrator branch from f83a82d to e331447 Compare March 31, 2026 19:11
@bug-ops bug-ops enabled auto-merge (squash) March 31, 2026 19:11
@github-actions github-actions bot added the size/XL Extra large PR (500+ lines) label Mar 31, 2026
@bug-ops bug-ops merged commit 6fd347c into main Mar 31, 2026
27 checks passed
@bug-ops bug-ops deleted the feat/issue-2540/remove-dead-orchestrator branch March 31, 2026 19:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core zeph-core crate documentation Improvements or additions to documentation llm zeph-llm crate (Ollama, Claude) refactor Code refactoring without functional changes rust Rust code changes size/XL Extra large PR (500+ lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor(zeph-llm): remove dead ModelOrchestrator in favour of RouterProvider

1 participant