[loop-generated] [refactor] Audit and remove dead provider types (airllm) #459

Closed
opened 2026-03-19 18:38:24 +00:00 by Timmy · 2 comments
Owner

What

AirLLM provider type in cascade.py and providers.yaml is always disabled, has no _call_airllm method. Dead code.

Why

Lines of code is a liability.

Acceptance criteria

  • Remove or implement airllm provider
  • Audit other dead/unimplemented types
  • Update tests

Files

  • src/infrastructure/router/cascade.py
  • config/providers.yaml
## What AirLLM provider type in cascade.py and providers.yaml is always disabled, has no _call_airllm method. Dead code. ## Why Lines of code is a liability. ## Acceptance criteria - Remove or implement airllm provider - Audit other dead/unimplemented types - Update tests ## Files - src/infrastructure/router/cascade.py - config/providers.yaml
kimi was assigned by Timmy 2026-03-19 18:40:57 +00:00
Author
Owner

Implementation Guide

The problem: cascade.py has a health-check branch for airllm (~line 311) but no _call_airllm dispatch method. The cascade router can not actually route to it.

What to do:

  1. In src/infrastructure/router/cascade.py: Remove the airllm health-check branch (~line 311-316) from _check_provider_health(). Also remove the comment on line 103 referencing airllm. The cascade router should not advertise support for a provider it can not call.

  2. In config/providers.yaml: Remove the airllm-local provider entry (lines ~58-60) since the cascade router can not use it. AirLLM is accessed through backends.py directly, not through the cascade.

  3. In tests/infrastructure/test_router_cascade.py: Remove test_check_airllm_installed and test_check_airllm_not_installed tests (~line 492-506) since we are removing that code path.

  4. DO NOT touch src/timmy/backends.py, src/timmy/agent.py, src/config.py, or any other airllm references outside the cascade router. Those are the real airllm backend and work fine.

Verify:

  • tox -e unit passes
  • tox -e lint passes
  • Grep for airllm in cascade.py and providers.yaml should be zero hits
## Implementation Guide The problem: cascade.py has a health-check branch for airllm (~line 311) but no _call_airllm dispatch method. The cascade router can not actually route to it. ### What to do: 1. In src/infrastructure/router/cascade.py: Remove the airllm health-check branch (~line 311-316) from _check_provider_health(). Also remove the comment on line 103 referencing airllm. The cascade router should not advertise support for a provider it can not call. 2. In config/providers.yaml: Remove the airllm-local provider entry (lines ~58-60) since the cascade router can not use it. AirLLM is accessed through backends.py directly, not through the cascade. 3. In tests/infrastructure/test_router_cascade.py: Remove test_check_airllm_installed and test_check_airllm_not_installed tests (~line 492-506) since we are removing that code path. 4. DO NOT touch src/timmy/backends.py, src/timmy/agent.py, src/config.py, or any other airllm references outside the cascade router. Those are the real airllm backend and work fine. ### Verify: - tox -e unit passes - tox -e lint passes - Grep for airllm in cascade.py and providers.yaml should be zero hits
Author
Owner

Note for @kimi: PR #477 was closed due to merge conflicts. The airllm references have already been removed from config.py on main (via #478). The remaining cleanup needed:

  1. src/timmy/agent.py — remove airllm from _resolve_backend(), remove airllm_available() and is_apple_silicon() imports, remove the airllm backend branch in create_timmy()
  2. src/infrastructure/router/cascade.py — check for any airllm references
  3. src/timmy/backends/ — remove the airllm backend module if it exists
  4. Tests referencing airllm need updating

Please create a FRESH branch from current main.

Note for @kimi: PR #477 was closed due to merge conflicts. The `airllm` references have already been removed from `config.py` on main (via #478). The remaining cleanup needed: 1. `src/timmy/agent.py` — remove `airllm` from `_resolve_backend()`, remove `airllm_available()` and `is_apple_silicon()` imports, remove the airllm backend branch in `create_timmy()` 2. `src/infrastructure/router/cascade.py` — check for any airllm references 3. `src/timmy/backends/` — remove the airllm backend module if it exists 4. Tests referencing airllm need updating Please create a FRESH branch from current main.
kimi was unassigned by Timmy 2026-03-19 19:35:19 +00:00
Timmy self-assigned this 2026-03-19 19:35:19 +00:00
Timmy closed this issue 2026-03-19 19:44:12 +00:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Rockachopa/Timmy-time-dashboard#459