| Age | Commit message (Expand) | Author |
| 6 hours | fix: add session lock in StockSelector, remove unused HEALTH_PORT_OFFSET, lin...HEADmaster | TheSiahxyz |
| 6 hours | fix: add TradeRow ORM model, SignalRow missing columns, guard Event.from_dict | TheSiahxyz |
| 6 hours | style: auto-fix lint violations from enhanced ruff rules | TheSiahxyz |
| 6 hours | feat: add graceful shutdown with SIGTERM/SIGINT handlers to all services | TheSiahxyz |
| 6 hours | feat: add config validation, SecretStr for secrets, API security fields | TheSiahxyz |
| 6 hours | feat: add retry and resilience to Redis broker with keepalive | TheSiahxyz |
| 6 hours | feat: add DB connection pooling with configurable pool_size, overflow, recycle | TheSiahxyz |
| 6 hours | fix: address code review issues in resilience module | TheSiahxyz |
| 7 hours | feat: implement resilience module (retry, circuit breaker, timeout) | TheSiahxyz |
| 7 hours | refactor: remove dead code (SentimentData, CircuitBreaker, TradeRow, unused c... | TheSiahxyz |
| 8 hours | style: fix lint and formatting issues across news collector and shared | TheSiahxyz |
| 8 hours | feat: add Telegram notification for stock selections | TheSiahxyz |
| 8 hours | feat: implement SentimentAggregator with freshness decay and composite scoring | TheSiahxyz |
| 8 hours | feat: add news collector and stock selector config settings | TheSiahxyz |
| 8 hours | feat: add NewsEvent, DB methods for news/sentiment/selections | TheSiahxyz |
| 8 hours | feat: add SQLAlchemy ORM models for news, scores, selections | TheSiahxyz |
| 8 hours | feat: add NewsItem, sentiment scoring, and stock selection models | TheSiahxyz |
| 12 hours | refactor: remove all crypto/Binance code, update to US stock symbols | TheSiahxyz |
| 12 hours | refactor: migrate to US stocks with Alpaca API | TheSiahxyz |
| 12 hours | refactor: replace Binance/ccxt with Alpaca API client for US stocks | TheSiahxyz |
| 12 hours | feat: add market sentiment filters (Fear & Greed, CryptoPanic, CryptoQuant) | TheSiahxyz |
| 13 hours | feat(risk): add portfolio exposure, correlation risk, and VaR checks | TheSiahxyz |
| 27 hours | feat(shared): add conviction, stop_loss, take_profit to Signal model | TheSiahxyz |
| 28 hours | fix: resolve final 3 issues for production readiness | TheSiahxyz |
| 28 hours | fix: lint cleanup after medium priority tasks | TheSiahxyz |
| 28 hours | feat(broker): add Redis consumer groups for reliable message processing | TheSiahxyz |
| 28 hours | fix: lint cleanup for API, combined strategy, and formatting | TheSiahxyz |
| 29 hours | feat: add multi-exchange support via ccxt factory | TheSiahxyz |
| 29 hours | feat(security): add bearer token auth for health/metrics endpoints | TheSiahxyz |
| 29 hours | feat(portfolio): add periodic portfolio snapshots and daily Telegram summary | TheSiahxyz |
| 29 hours | fix(shared): add transaction rollback on DB errors | TheSiahxyz |
| 30 hours | fix: resolve lint issues and final integration fixes | TheSiahxyz |
| 30 hours | feat(services): integrate structlog, healthcheck, metrics, and Telegram | TheSiahxyz |
| 30 hours | feat(shared): add health checks and Prometheus metrics | TheSiahxyz |
| 30 hours | feat(shared): add Telegram notification service | TheSiahxyz |
| 30 hours | feat(shared): add retry with backoff and circuit breaker | TheSiahxyz |
| 30 hours | feat(shared): add structlog-based structured logging | TheSiahxyz |
| 30 hours | feat: rewrite database layer from asyncpg to SQLAlchemy 2.0 async ORM | TheSiahxyz |
| 30 hours | feat: add SQLAlchemy ORM models and Alembic migration setup | TheSiahxyz |
| 30 hours | feat: initial trading platform implementation | TheSiahxyz |