Changelog¶
Newest first. Short, intentionally incomplete — commits on main are the source of truth, this is the human-readable roll-up.
2026-04 — P4 complete¶
- P4.4 Google OAuth with JWKS/ES256 verification (Supabase's current default); Sign in with Google wired end-to-end.
- Web Push: VAPID-authenticated browser notifications with deep-link back to the triggering signal; FLASH gets sticky (requireInteraction) banners.
- Telegram multi-user:
deliver_batchreads per-usertelegram_chat_idfromuser_settingsinstead of a global env var; users must link via Settings. - Per-user chat id + RLS fix:
user_scopenowSET LOCAL ROLE authenticatedso RLS policies actually fire — earlier code silently ran as the Postgres superuser withBYPASSRLS. - Agent breakdown panel: each signal carries per-agent impact / confidence / latency / error in a collapsible table under the card.
- Per-ticker relevance bars + Open Graph preview cards for every signal's source article.
- Signal card redesign to match the Telegram delivery format — bilingual side-by-side summaries, signal id, signal_type pill, expandable reasoning block.
- Email magic link via Supabase (no Google account required to sign up).
- Real Claw chat backed by hybrid dense + BM25 retrieval over your own signals, with every query logged to
rag_query_logs. - Embedding pipeline: each new signal is embedded into ChromaDB (
paraphrase-multilingual-MiniLM-L12-v2) immediately after commit. - Claw rules CRUD with an LLM-based natural-language parser (stored only; triggering is future work).
- OS-driven dark/light theme for the whole SPA.
- Real market data endpoints (
/market/quotes,/market/indices) via yfinance + 60 s Redis cache. - Watchlist auto-bootstrap so new users land on a usable empty list instead of a dead "+ Add ticker" button.
- Logout UI (avatar dropdown in the top bar).
- Legal pages (
/privacy.html,/terms.html) and this documentation site.
2026-04 — P3¶
- Write endpoints:
POST /watchlists/{id}/tickers,DELETE .../{ticker},PUT /settings,POST /integrations/telegram/link,POST /claw/chat(then still an echo stub). user_settingstable.- Adding a ticker fires an immediate crawl.
2026-04 — P2¶
- Read-only FastAPI:
GET /signals,GET /watchlists,GET /health,/ws/signalsWebSocket. - JWT auth + row-level security scaffolding.
- Frontend flipped off mock mode.
2026-04 — P1¶
- Supabase Postgres + Redis via docker-compose.
- Celery + Beat orchestration.
- Signal persistence: pipeline writes each produced SignalCard to the DB.
- SQLite → Supabase watchlist migration.
2026-04 — P0¶
- 5-agent synthesis engine with Reflexion and Pydantic validation.
- RSS / yfinance crawlers.
- Watchlist SQLite DB.
- Frontend SPA (dashboard / watchlist / claw / settings) with PWA manifest.
- Telegram bot delivery (single-user).