2.4 KiB
2.4 KiB
News Domain - Implementation Tasks
Overview
Current Status: ~90% Complete with working production features
Remaining Work: 1-2 hour integration fix to connect existing components
Architecture: Google News → OpenRouter LLM → PostgreSQL + Dagster (All Implemented)
Component Status
| Component | Status | Evidence |
|---|---|---|
| Google News Collection | ✅ Complete | google_news_client.py working |
| Article Scraping | ✅ Complete | article_scraper_client.py with fallbacks |
| OpenRouter LLM Client | ✅ Complete | openrouter_client.py sentiment + embeddings working |
| Database Storage | ✅ Complete | news_repository.py + migrations applied |
| NewsService Pipeline | ✅ Complete | news_service.py complete orchestration |
| Dagster Scheduling | ✅ Complete | schedules.py + jobs.py working |
| Dagster Operations | 🔧 Gap | Placeholders in ops.py instead of real OpenRouter calls |
Remaining Tasks
✅ T001: Connect OpenRouter to Dagster Workflow - COMPLETE
Priority: Critical | Duration: 1-2 hours | Dependencies: None
Description: Replace placeholder sentiment and embeddings in Dagster ops with real OpenRouter client calls
Acceptance Criteria:
- Update
fetch_and_process_articleto use real OpenRouter sentiment analysis - Update
fetch_and_process_articleto use real OpenRouter embeddings - Store sentiment_confidence, sentiment_label, title_embedding, content_embedding in database
- Test complete Dagster workflow end-to-end
- Verify asset materialization includes real LLM results
Implementation Details:
Replaced placeholders in /tradingagents/workflows/ops.py:
- Lines 176-179: Real OpenRouter sentiment analysis with error handling
- Lines 187-189: Real OpenRouter embeddings with fallback to zero vectors
- Lines 203-213: Store sentiment and vector fields in database via NewsArticle
Files Modified:
/tradingagents/workflows/ops.py- Real OpenRouter integration/tradingagents/domains/news/news_repository.py- Added embedding fields to NewsArticle dataclass/tests/domains/news/test_dagster_openrouter_integration.py- Comprehensive integration tests
Conclusion
The news domain is production-ready with a simple 1-2 hour integration fix. All major components are built, tested, and working - only need to connect existing OpenRouter client to existing Dagger ops.