Skip to content

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_batch reads per-user telegram_chat_id from user_settings instead of a global env var; users must link via Settings.
  • Per-user chat id + RLS fix: user_scope now SET LOCAL ROLE authenticated so RLS policies actually fire — earlier code silently ran as the Postgres superuser with BYPASSRLS.
  • 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_settings table.
  • Adding a ticker fires an immediate crawl.

2026-04 — P2

  • Read-only FastAPI: GET /signals, GET /watchlists, GET /health, /ws/signals WebSocket.
  • 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).