Orchestrata Ultimate › Plans › plan_subphase_1_2 › subplan-provider-llm-2026-04-12
Subplan: Sub-phase 1.2 — Provider + LLM (Steps 48-60)
Source: plans/plan_subphase_1_2/subplan-provider-llm-2026-04-12.md at 8a2cb42ad · last changed 2026-07-27 · first committed 2026-04-12 · 51 lines.
Prose pending.
Plan text
Subplan: Sub-phase 1.2 — Provider + LLM (Steps 48-60)
Context
Sub-phase 1.1 (CXP) is complete. 1103 tests pass. This subplan ports the Provider package (8 core + 6 adapters) and LLM package (3 files).
Source:
- Provider:
/home/mohamed/workspace/orchestrata/packages/orchestrata-provider/src/orchestrata/provider/ - LLM:
/home/mohamed/workspace/orchestrata/packages/orchestrata-llm/src/orchestrata/llm/
Target: /home/mohamed/workspace/orchestrata-ultimate/src/orchestrata_ultimate/
Coverage gate: --cov-fail-under=90 on providers/ and llm/.
Traceability: @traces("REQ-1.2-XXX") on all public classes.
Steps
Step 48: Create providers/ and llm/ directories
Steps 49-56: Port ALL provider files
- provider_manager.py, registry.py, router.py
- circuit_breaker.py, rate_limiter.py, cost_tracker.py, health_monitor.py
- adapters/: base.py, anthropic_adapter.py, openai_adapter.py, deepseek_adapter.py, ollama_adapter.py, openrouter_adapter.py, claude_cli_adapter.py
- Fix os.environ, conditional SDK imports (anthropic, openai)
- @traces("REQ-1.2-001") through REQ-1.2-005
Steps 57-58: Port LLM package
- client.py (call_llm, call_reasoner), config.py, exceptions.py
- VolkConfig -> AgentConfig rename
- @traces("REQ-1.2-006") through REQ-1.2-007
Step 59: Delete integrations/openrouter.py stub (replaced by real providers)
Step 60: Gate check — imports, tests >=1103, coverage >=90%
Requirements
| REQ ID | Description |
|---|---|
| REQ-1.2-001 | provider_manager.py imports with env defaults |
| REQ-1.2-002 | All 6 adapters import with conditional SDKs |
| REQ-1.2-003 | circuit_breaker, rate_limiter, cost_tracker, health_monitor import |
| REQ-1.2-004 | registry.py + router.py import |
| REQ-1.2-005 | All os.environ use .get() with defaults |
| REQ-1.2-006 | LLM client.py with call_llm imports |
| REQ-1.2-007 | LLM config.py with AgentConfig (VolkConfig renamed) |
| REQ-1.2-008 | Tests pass (>=1103), coverage >=90% on providers+llm |