[loop-generated] [refactor] Complete airllm removal from backends, agent, CLI and tests #486
Closed
opened 2026-03-19 19:50:20 +00:00 by Timmy
·
3 comments
No Branch/Tag Specified
main
gemini/issue-892
claude/issue-1342
claude/issue-1346
claude/issue-1351
claude/issue-1340
fix/test-llm-triage-syntax
gemini/issue-1014
gemini/issue-932
claude/issue-1277
claude/issue-1139
claude/issue-870
claude/issue-1285
claude/issue-1292
claude/issue-1281
claude/issue-917
claude/issue-1275
claude/issue-925
claude/issue-1019
claude/issue-1094
claude/issue-1019-v3
fix/flaky-vassal-xdist-tests
fix/test-config-env-isolation
claude/issue-1019-v2
claude/issue-957-v2
claude/issue-1218
claude/issue-1217
test/chat-store-unit-tests
claude/issue-1191
claude/issue-1186
claude/issue-957
gemini/issue-936
claude/issue-1065
gemini/issue-976
gemini/issue-1149
claude/issue-1135
claude/issue-1064
gemini/issue-1012
claude/issue-1095
claude/issue-1102
claude/issue-1114
gemini/issue-978
gemini/issue-971
claude/issue-1074
claude/issue-987
claude/issue-1011
feature/internal-monologue
feature/issue-1006
feature/issue-1007
feature/issue-1008
feature/issue-1009
feature/issue-1010
feature/issue-1011
feature/issue-1012
feature/issue-1013
feature/issue-1014
feature/issue-981
feature/issue-982
feature/issue-983
feature/issue-984
feature/issue-985
feature/issue-986
feature/issue-987
feature/issue-993
claude/issue-943
claude/issue-975
claude/issue-989
claude/issue-988
fix/loop-guard-gitea-api-and-queue-validation
feature/lhf-tech-debt-fixes
kimi/issue-753
kimi/issue-714
kimi/issue-716
fix/csrf-check-before-execute
chore/migrate-gitea-to-vps
kimi/issue-640
fix/utcnow-calm-py
kimi/issue-635
kimi/issue-625
fix/router-api-truncated-param
kimi/issue-604
kimi/issue-594
review-fixes
kimi/issue-570
kimi/issue-554
kimi/issue-539
kimi/issue-540
feature/ipad-v1-api
kimi/issue-506
kimi/issue-512
refactor/airllm-doc-cleanup
kimi/issue-513
kimi/issue-514
kimi/issue-500
kimi/issue-492
kimi/issue-490
kimi/issue-459
kimi/issue-472
kimi/issue-473
kimi/issue-462
kimi/issue-463
kimi/issue-454
kimi/issue-445
kimi/issue-446
kimi/issue-431
GoldenRockachopa
hermes/v0.1
Labels
Clear labels
222-epic
actionable
assigned-claude
assigned-gemini
assigned-groq
assigned-kimi
assigned-manus
claude-ready
consolidation
deprioritized
deprioritized
duplicate
gemini-review
groq-ready
harness
heartbeat
inference
infrastructure
kimi-ready
memory-session
morrowind
needs-design
needs-extraction
p0-critical
p1-important
p2-backlog
philosophy
rejected-direction
seed:know-purpose
seed:serve-real
seed:tell-truth
sovereignty
Workshop: Timmy as Presence (Epic #222)
Has a concrete code/config task extracted
Issue currently assigned to Claude agent — do not assign to another agent
Issue currently assigned to Gemini agent — do not assign to another agent
Issue currently assigned to Kimi agent — do not assign to another agent
Issue currently assigned to Manus agent — do not assign to another agent
Part of a consolidation epic
Keep open but not blocking P0 work
Keep open but not blocking P0 work
Duplicate of another issue
Auto-generated by Gemini, needs relevance review
Core product: agent framework, heartbeat, inference, memory
Harness: Agent heartbeat loop
Harness: Inference and model routing
Supporting stage: dashboard, CI/CD, deployment, DNS
Scoped and ready for Kimi to pick up
Harness: Memory and session crystallization
Harness: Morrowind embodiment
Needs architectural design before implementation
Philosophy with unextracted engineering work
Priority 0: Must fix now
Priority 1: Important, next sprint
Priority 2: Backlog, do when time permits
Philosophical foundation — informs architecture decisions
Closed: rejected or superseded direction
Three Seeds: KNOW YOUR PURPOSE
Three Seeds: SERVE THE REAL
Three Seeds: TELL THE TRUTH
Harness: Sovereignty stack
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Rockachopa/Timmy-time-dashboard#486
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
#459 removed airllm from the cascade router and #475 removed it from config.py, but substantial airllm code remains in:
Source (16 references)
src/timmy/backends.py— entireTimmyAirLLMAgentclass,airllm_available()functionsrc/timmy/agent.py—_resolve_backend()still handles airllm,create_timmy()still supports itsrc/timmy/cli.py— CLI help text still references airllmsrc/timmy/tools_intro/__init__.py— mention in docstringTests (45+ references)
tests/timmy/test_agent.py— 6 airllm test functionstests/timmy/test_backends.py— 10 airllm test functionstests/timmy/test_cli.py— 1 airllm CLI testtests/dashboard/test_mobile_scenarios.py— 4 airllm mobile teststests/infrastructure/test_router_cascade.py— 2 airllm cascade teststests/conftest.py— airllm stub in sys.modulesScope
This is a larger cleanup (~60 references across ~10 files). Suitable for Kimi delegation.
Acceptance Criteria
TimmyAirLLMAgentclass from backends.pyairllm_available()from backends.py_resolve_backend()andcreate_timmy()in agent.pyautobackend option (which was only for airllm detection)airllmandautotox -e unit)Instructions for Kimi
Complete removal of all airllm references from the codebase.
Source changes:
src/timmy/backends.py: Removeairllm_available(),TimmyAirLLMAgentclass,_AIRLLM_MODELSdict, and all airllm importssrc/timmy/agent.py: Remove airllm from_resolve_backend()(remove the Apple Silicon + airllm branch), remove airllm fromcreate_timmy(), update type hintssrc/timmy/cli.py: Remove airllm from --backend help text, remove --model-size optionsrc/timmy/tools_intro/__init__.py: Remove airllm mention from docstringTest changes:
tests/conftest.py: Removeairllmfrom the sys.modules stub listtests/timmy/test_agent.py: Remove all airllm test functions (test_create_timmy_airllm_, test_resolve_backend_auto_uses_airllm_, etc)tests/timmy/test_backends.py: Remove all airllm test functionstests/timmy/test_cli.py: Remove the airllm CLI testtests/dashboard/test_mobile_scenarios.py: Remove M601-M604 airllm teststests/infrastructure/test_router_cascade.py: Remove test_check_airllm_* testsImportant:
autofromtimmy_model_backendLiteral if it only existed for airllm detectionis_apple_silicon()if used elsewheretox -e unitUpdated scope — this is bigger than expected.
Files to modify:
src/timmy/backends.py— Remove_AIRLLM_MODELS,ModelSize,airllm_available(),is_apple_silicon(),TimmyAirLLMAgentclass (lines 26-148). Removeimport platformandfrom typing import Literal. Fix docstring.src/timmy/agent.py— Remove all airllm imports, references in_resolve_backend(),create_timmy()airllm branch. Fix docstrings.src/timmy/cli.py— Remove airllm from help text.src/timmy/__init__.py— Fix docstring.src/timmy/tools_intro/__init__.py— Remove airllm from comment.tests/conftest.py— Remove airllm stub (line 21).tests/timmy/test_backends.py— Remove ALL airllm test functions (lines 41-215+).tests/timmy/test_agent.py— Remove airllm test functions and references.tests/timmy/test_cli.py— Remove airllm CLI test.tests/dashboard/test_mobile_scenarios.py— Remove M6xx section entirely.Run
tox -e unit— all tests must pass. Branch:kimi/issue-486Closing — airllm has already been fully removed from source, tests, and config. The only remaining reference is a test fixture string in
tests/loop/test_cycle_retro.py:78that references the historical PR title[loop-cycle-538] refactor: remove dead airllm (#459) (#481)— this is test data, not dead code. All acceptance criteria are met.