Skip to content

feat: add GA route core runtime#117

Closed
abraxas914 wants to merge 2 commits intolsdefine:mainfrom
abraxas914:feat/ga-switch-core-routes
Closed

feat: add GA route core runtime#117
abraxas914 wants to merge 2 commits intolsdefine:mainfrom
abraxas914:feat/ga-switch-core-routes

Conversation

@abraxas914
Copy link
Copy Markdown

Context: PR109 mixed route core, GUI, launcher, and API surface into one review unit. This PR restarts with the backend-only slice: structured provider/route storage, failover routing, active-route switching, explicit reload, diagnostics, and legacy import. GUI, launcher, and API server stay out of scope and will be handled separately if this backend contract is accepted.

Included

  • ga_switch backend core: models, store, service, diagnostics, testing
  • minimal agentmain.py hooks: set_active_route(), reload_llm_config(), describe_llms()
  • minimal llmcore.py metadata needed for failover and diagnostics
  • canonical backend snapshot via get_runtime_snapshot()
  • focused backend test suite in tests/test_ga_switch.py

Excluded

  • any frontends/*
  • launch.pyw
  • api_server.py and API server docs/scripts
  • UI/viewmodel payload builders and handoff/audit docs

Hotfix semantics

  • route/provider updates only affect future tasks
  • set_active_route() does not interrupt an in-flight task
  • reload_llm_config() still fails loudly while the agent is running
  • no watcher-based auto reload or shared runtime changes

Validation

  • D:\Workspace\pixi-analysis-r-py\.pixi\envs\default\python.exe -m unittest tests.test_ga_switch

@lsdefine
Copy link
Copy Markdown
Owner

Closing — +1974 lines across 11 files is far beyond the project's contribution guidelines. GenericAgent's core is ~3K lines; this PR would increase it by 60%. Per CONTRIBUTING.md: "More features → less code. Good abstractions make the codebase shrink, not grow."

@lsdefine lsdefine closed this Apr 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants