trading/tests
Viktor Barzin 89f01ad9c0 refactor(meet-kevin): switch LLM analyzer to OpenRouter via OpenAI SDK
User's Vault has openrouter_api_key but no direct sk-ant-* Anthropic key.
OpenRouter passes through Claude Sonnet 4.6 (~3% markup over Anthropic
list pricing) and matches the existing gpt_mini_endpoint pattern used
by recruiter-responder.

- Replace anthropic.AsyncAnthropic with openai.AsyncOpenAI + base_url
- Convert Anthropic tool-use API to OpenAI function-calling
- System prompt unchanged (analyst instructions are model-agnostic)
- Drop cache_control (not in OpenAI API); revisit later if cost matters
- Model slug: anthropic/claude-sonnet-4.5 (OpenRouter's current Claude tier)
- Pricing: $3.10/M input, $15.50/M output (OpenRouter pass-through)
- Config field anthropic_api_key -> openrouter_api_key
- pyproject extras: anthropic>=0.40 -> openai>=1.50

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 09:52:55 +00:00
..
api_gateway/routes feat(api): /api/meet-kevin/* routes (11 endpoints) 2026-05-21 19:53:16 +00:00
fixtures feat(meet-kevin): caption extractor via yt-dlp 2026-05-21 19:40:52 +00:00
integration feat: integration tests, seed data, and smoke test script 2026-02-22 16:02:44 +00:00
services refactor(meet-kevin): switch LLM analyzer to OpenRouter via OpenAI SDK 2026-05-22 09:52:55 +00:00
__init__.py feat: project foundation — monorepo setup, shared config, redis streams, telemetry 2026-02-22 15:13:26 +00:00
test_backtester.py feat: backtesting engine — historical replay with shared strategies 2026-02-22 15:43:19 +00:00
test_broker.py feat: brokerage abstraction layer with Alpaca implementation 2026-02-22 15:26:41 +00:00
test_fundamentals.py refactor: reconcile FundamentalsSnapshot to use canonical schema from trading.py 2026-02-23 21:45:18 +00:00
test_indicators.py feat: add MACD, Bollinger, VWAP, ATR, EMA, SMA-200 indicator computations 2026-02-23 21:49:26 +00:00
test_models.py feat: add Meet Kevin SQLAlchemy models (5 tables) 2026-05-21 19:19:33 +00:00
test_new_strategies.py feat: add 6 new strategies (value, MACD, Bollinger, VWAP, liquidity, MA stack) 2026-02-23 21:50:52 +00:00
test_redis_streams.py feat: project foundation — monorepo setup, shared config, redis streams, telemetry 2026-02-22 15:13:26 +00:00
test_schemas.py fix(schemas): use enum types as field types + enforce symbol length 2026-05-21 19:15:59 +00:00
test_strategies.py feat: productionize local service — fix signal pipeline, lower thresholds, add company-name ticker extraction 2026-02-22 22:17:26 +00:00