trading/tests/services
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
..
meet_kevin_watcher refactor(meet-kevin): switch LLM analyzer to OpenRouter via OpenAI SDK 2026-05-22 09:52:55 +00:00
__init__.py feat: sentiment analyzer — FinBERT + Ollama tiered analysis 2026-02-22 15:27:06 +00:00
test_api_auth.py feat: API gateway with passkey (WebAuthn) authentication 2026-02-22 15:53:48 +00:00
test_api_routes.py feat: productionize local service — fix signal pipeline, lower thresholds, add company-name ticker extraction 2026-02-22 22:17:26 +00:00
test_learning_engine.py feat: learning engine — multi-armed bandit strategy weight adjustment 2026-02-22 15:43:11 +00:00
test_market_data.py feat: productionize local service — fix signal pipeline, lower thresholds, add company-name ticker extraction 2026-02-22 22:17:26 +00:00
test_news_fetcher.py feat: news fetcher service — RSS and Reddit sources 2026-02-22 15:25:27 +00:00
test_portfolio_sync.py fix: resolve all remaining TODOs, add dev mode auth bypass 2026-02-25 22:02:25 +00:00
test_sentiment_analyzer.py feat: real data pipeline — market data, DB persistence, portfolio sync, signal-trade linkage 2026-02-22 19:52:45 +00:00
test_signal_generator.py feat: real data pipeline — market data, DB persistence, portfolio sync, signal-trade linkage 2026-02-22 19:52:45 +00:00
test_trade_executor.py fix: resolve all remaining TODOs, add dev mode auth bypass 2026-02-25 22:02:25 +00:00