trading/services
Viktor Barzin 7b81980c66 fix(meet-kevin): API smoke-test bugs from Task 17 QA
Three issues caught during end-to-end manual QA against docker-compose:

1. SAEnum field columns serialized to Python enum NAMES ('DISCOVERED')
   but the DB enum had VALUES ('discovered'). Added `values_callable`
   to all 5 SAEnum() declarations in shared/models/meet_kevin.py so they
   emit values, matching the migration's enum literals.

2. /dashboard's "last 7 days" / "last 14 days" filters used
   `func.cast("7 days", type_=None)` which produced NullType DDL.
   Replaced with `text("now() - interval '7 days'")`.

3. /dashboard's outlook trend query repeated `func.date_trunc("day", col)`
   in SELECT, GROUP BY and ORDER BY — Postgres treats each as a separate
   parameterized expression. Hoisted into a single `day_trunc` variable
   so all three clauses reference the same SQL fragment.

All 11 /api/meet-kevin/* endpoints now return valid JSON against a
docker-compose Postgres seeded with one analyzed video + NVDA mention.
2026-05-21 20:15:08 +00:00
..
api_gateway fix(meet-kevin): API smoke-test bugs from Task 17 QA 2026-05-21 20:15:08 +00:00
learning_engine fix: resolve all remaining TODOs, add dev mode auth bypass 2026-02-25 22:02:25 +00:00
market_data feat: productionize local service — fix signal pipeline, lower thresholds, add company-name ticker extraction 2026-02-22 22:17:26 +00:00
meet_kevin_watcher feat(meet-kevin): pipeline orchestrator + service main loop 2026-05-21 19:48:43 +00:00
news_fetcher fix: resolve 13 important issues from code review 2026-02-22 17:58:01 +00:00
sentiment_analyzer fix: flush article before creating sentiment FK references 2026-02-23 20:57:11 +00:00
signal_generator feat: wire 6 new strategies and fundamentals into signal generator 2026-02-23 21:55:59 +00:00
trade_executor fix: resolve all remaining TODOs, add dev mode auth bypass 2026-02-25 22:02:25 +00:00
__init__.py feat: sentiment analyzer — FinBERT + Ollama tiered analysis 2026-02-22 15:27:06 +00:00