QuantIQ / backend

Commit History

  1. fix: make model-metrics database queries individually fault-tolerant

    abdc502
  2. fix: resolve 500 internal server error on model-metrics and add fallbacks for ml metadata

    2b17acb

  1. fix: resolve timezone-mismatch alignment errors on historical ranges by enforcing UTC epoch normalization in both frontend and backend

    8c797fa
  2. fix: resolve indicator cold start on larger ranges by fetching longer warmup periods and migrating RSI calculation to backend

    dc2472d
  3. feat(chart): add MACD & Bollinger Bands overlays with backend-computed indicators⁠

    367dd73

  1. fix: remove unused onnx_sessions import in metadata endpoint

    c1bd44c
  2. api: add ML model metadata endpoint for ONNX session; returns trained_date, features, and accuracy from model metadata

    Dodothereal
    53f2773
  3. chore: remove redundant Dockerfiles and boilerplate main.py

    bd7d596
  4. docs: create professional and detailed README files for all subfolders

    f259a90

  1. fix: pass PYTHONUNBUFFERED=1 to all Python processes in supervisord to prevent console log buffering

    01d0352
  2. fix: resolve empty container logs on HF by routing supervisord outputs to /dev/fd/1 and /dev/fd/2 instead of /dev/stdout and /dev/stderr

    86c2721
  3. feat: integrate Contextual News Sentiment (QuantIQ News Sentiment) and Earnings Calendar (QuantIQ Catalyst Watch) tools into Gemini ReAct agent loop

    3de8ffd

  1. fix: enable strict=False in JSON extractor to parse Gemini responses containing literal raw newlines inside JSON string values

    cd078b2
  2. fix: filter out flat closed-market candles in both ingestion worker and graphql stock_history resolver to prevent horizontal flat-line 1D charts when market is closed

    582c3ad
  3. fix: force yfinance daily fallback if stock history has flat price movement (nunique close <= 1) during closed market hours

    26fb37a
  4. fix: add 15-minute Redis dynamic backfill lock in crud.get_stock_history to prevent hammering yfinance on cold database

    d07b262
  5. fix: eliminate yfinance rate limiting - retry backoff in cached helper + Celery tasks use cached helper instead of raw yf.Ticker every 2min

    54df784
  6. fix: resolve NameError in get_ml_prediction - stale onnx_session ref left over from multi-model router refactor (should be onnx_sessions dict)

    3610f7e
  7. fix: add shared Redis-cached yfinance helper to eliminate rate limiting and event-loop blocking across indicator tool, ONNX predictor, and ATR calculator

    d179777
  8. fix: add yfinance daily fallback to indicator tool and ONNX predictor when local DB has <26 candles post-restart

    388c5f4
  9. fix: enforce JSON-only Gemini responses and add graceful plain-text fallback to prevent agent crash

    9d416cd
  10. fix: resolve Celery decorator syntax error and handle NaN technical indicators in ONNX prediction inputs

    aaf30f8
  11. feat: implement weekly MLOps retraining loop and specialized multi-model router

    432f713

  1. fix: resolve Celery asyncpg event loop crash with NullPool and guard PnL division by zero

    ff3c3ba
  2. feat: implement dynamic volatility fallback with Redis DB 1 cache and category defaults

    08a2e96
  3. fix: resolve Celery Beat scheduling, crud logic errors, and implement ATR volatility-adjusted stop-loss levels

    1e6320d

  1. feat: implement dynamic historical backfilling from yfinance in get_stock_history

    491dfdd
  2. fix: clarify bearish framing in ReAct analyst system instructions to prevent user confusion

    3b2edba
  3. feat: add recently_analyzed and trending_tickers GraphQL queries utilizing prediction logs

    c88030c
  4. feat: add user strategy performance tracker table, lockInStrategy GraphQL mutation, and auto-labeler updates

    b5a4c95
  5. fix: integrate real ONNX prediction helper into Advisor chat and improve memory context guidelines

    27caaea
  6. feat: add MLOps prediction logs table, background labeling task, and model metrics endpoint

    c7f64de

  1. fix: use google_id to store/check password hash, prevents picture_url overwrites breaking login

    2f00474
  2. feat: add delete_email query param to diagnostic endpoint to reset test user registrations

    a6c0036
  3. feat: integrate Resend HTTP API support for firewall-safe email delivery

    d5cf9cc
  4. fix: propagate SMTP exceptions in diagnostic endpoint to display exact SMTP error details

    75aaa5e
  5. fix: add connection timeout to smtplib SMTP/SMTP_SSL calls to prevent hanging

    d214a09
  6. fix: support both SSL and TLS SMTP ports and add /auth/test-email diagnostic endpoint

    8d9c91a
  7. feat: add secure 6-digit OTP email verification flow

    f6f831b

  1. fix: set database connection timeout to 30s to handle Neon cold starts

    3a7de1b
  2. config: redirect supervisord and service logs to container stdout/stderr for HF console diagnostics

    ef36e1e
  3. fix: manually implement protected /metrics route in main.py to fix expose type error

    8415637
  4. config: protect /metrics endpoint with Basic Auth (admin/admin) for Grafana compliance

    ad00f27

  1. clean: remove temporary debug endpoint before production release

    7e75d84
  2. debug: add temporary get-logs endpoint to endpoints.py

    c6f86a2
  3. config: run Redpanda in dev-container mode and enable Celery root execution in supervisord

    cd736b7
  4. config: make model.onnx copy optional in Dockerfiles to fix HF Spaces build error

    3411607
  5. config: update fastapi server and docker ports to 7860 for hugging face spaces

    3fa3dd6

  1. refactor: migrate gemini client code to the new official google-genai SDK⁠

    112ad2a
  2. fix: import asyncio globally in endpoints.py to resolve market-movers NameError

    923d7bb