Pattern Proposal: Model-Agnostic Provider Indirection
Summary
Abstract LLM interactions behind a unified client adapter with interchangeable mock fallbacks.
Candidate Pattern
- ID:
model-agnostic-provider-indirection - Classification: intelligence
- Maturity: established
- Type: implemented
Observed Signals
No specific signals listed.
Evidence
Supporting Evidence
- src/cas_runner/llm/litellm_client.py (LiteLLMClient) - Production LLM abstraction layer using LiteLLM
- src/cas_runner/llm/mock_client.py (MockLLMClient) - Mock client supporting offline and deterministic agent runs
Scope Assessment
- Evidence Strength: high
- Confidence: high
- Applies to: ideas-to-life-cas
Rationale
- Intent: Shield agent reasoning steps from provider-specific APIs and allow deterministic offline testing.
- Context: Agent execution flows require flexible LLM routing and dry-run execution without network overhead.
- Force: Vendor lock-in with proprietary SDKs
- Force: Need for reproducible unit and end-to-end integration tests without live API keys
Traceability
Artifact source: proposed-patterns