| Age | Commit message (Expand) | Author |
| 14 hours | feat: add graceful shutdown with SIGTERM/SIGINT handlers to all services | TheSiahxyz |
| 14 hours | feat: add missing DB indexes for signals, orders, trades, snapshots | TheSiahxyz |
| 14 hours | feat: add config validation, SecretStr for secrets, API security fields | TheSiahxyz |
| 14 hours | feat: add retry and resilience to Redis broker with keepalive | TheSiahxyz |
| 14 hours | feat: add DB connection pooling with configurable pool_size, overflow, recycle | TheSiahxyz |
| 14 hours | fix: address code review issues in resilience module | TheSiahxyz |
| 14 hours | feat: implement resilience module (retry, circuit breaker, timeout) | TheSiahxyz |
| 15 hours | refactor: remove dead code (SentimentData, CircuitBreaker, TradeRow, unused c... | TheSiahxyz |
| 16 hours | style: fix lint and formatting issues across news collector and shared | TheSiahxyz |
| 16 hours | feat: add Telegram notification for stock selections | TheSiahxyz |
| 16 hours | feat: implement SentimentAggregator with freshness decay and composite scoring | TheSiahxyz |
| 16 hours | feat: add news collector and stock selector config settings | TheSiahxyz |
| 16 hours | feat: add NewsEvent, DB methods for news/sentiment/selections | TheSiahxyz |
| 16 hours | feat: add Alembic migration for news and sentiment tables | TheSiahxyz |
| 16 hours | feat: add SQLAlchemy ORM models for news, scores, selections | TheSiahxyz |
| 16 hours | feat: add NewsItem, sentiment scoring, and stock selection models | TheSiahxyz |
| 19 hours | refactor: purge all remaining crypto/Binance references | TheSiahxyz |
| 19 hours | refactor: remove all crypto/Binance code, update to US stock symbols | TheSiahxyz |
| 20 hours | feat: add Claude-powered daily stock screener for MOC strategy | TheSiahxyz |
| 20 hours | refactor: migrate to US stocks with Alpaca API | TheSiahxyz |
| 20 hours | refactor: replace Binance/ccxt with Alpaca API client for US stocks | TheSiahxyz |
| 20 hours | feat: add market sentiment filters (Fear & Greed, CryptoPanic, CryptoQuant) | TheSiahxyz |
| 21 hours | feat(risk): add portfolio exposure, correlation risk, and VaR checks | TheSiahxyz |
| 35 hours | feat(strategy): Phase 2 complete — strategy infrastructure upgrade | TheSiahxyz |
| 35 hours | feat(shared): add conviction, stop_loss, take_profit to Signal model | TheSiahxyz |
| 36 hours | fix: resolve final 3 issues for production readiness | TheSiahxyz |
| 36 hours | fix: lint cleanup after medium priority tasks | TheSiahxyz |
| 36 hours | feat(broker): add Redis consumer groups for reliable message processing | TheSiahxyz |
| 36 hours | fix: snapshot delay, env fields, alembic creds, API healthcheck and error han... | TheSiahxyz |
| 36 hours | fix: lint cleanup for API, combined strategy, and formatting | TheSiahxyz |
| 36 hours | feat: add multi-exchange support via ccxt factory | TheSiahxyz |
| 36 hours | feat(security): add bearer token auth for health/metrics endpoints | TheSiahxyz |
| 37 hours | feat(portfolio): add periodic portfolio snapshots and daily Telegram summary | TheSiahxyz |
| 37 hours | feat: medium priority improvements | TheSiahxyz |
| 37 hours | fix(shared): add transaction rollback on DB errors | TheSiahxyz |
| 37 hours | fix: resolve critical deployment blockers | TheSiahxyz |
| 37 hours | fix: resolve lint issues and final integration fixes | TheSiahxyz |
| 38 hours | feat(services): integrate structlog, healthcheck, metrics, and Telegram | TheSiahxyz |
| 38 hours | feat(shared): add health checks and Prometheus metrics | TheSiahxyz |
| 38 hours | feat(shared): add Telegram notification service | TheSiahxyz |
| 38 hours | feat(shared): add retry with backoff and circuit breaker | TheSiahxyz |
| 38 hours | feat(shared): add structlog-based structured logging | TheSiahxyz |
| 38 hours | feat: rewrite database layer from asyncpg to SQLAlchemy 2.0 async ORM | TheSiahxyz |
| 38 hours | feat: add SQLAlchemy ORM models and Alembic migration setup | TheSiahxyz |
| 38 hours | feat: initial trading platform implementation | TheSiahxyz |