Pattern Proposal: Provider Adapter Strategy
Summary
LLM clients are abstracted behind a common interface, allowing different providers (LiteLLM, Mock) to be swapped.
Candidate Pattern
- ID:
provider-adapter-strategy - Classification: architectural
- Maturity: emerging
- Type: emerging
Observed Signals
No specific signals listed.
Evidence
Supporting Evidence
- src/cas_runner/llm/litellm_client.py (LiteLLMClient)
- src/cas_runner/llm/mock_client.py (MockLLMClient)
Scope Assessment
- Evidence Strength: medium
- Confidence: medium
- Applies to: ideas-to-life-cas
Rationale
- Intent: Decouple the core runner from concrete LLM implementation details.
- Context: Runner uses LLM client via interface; multiple implementations exist.
- Force: Need for testability
- Force: Support multiple providers
- Force: Isolate I/O
Traceability
Artifact source: proposed-patterns