Spaces:
Sleeping
Sleeping
Commit History
-
fix: correct legend colors and SPY% missing in monthly P&L chart
Bibhu Mishra +1: Claude Sonnet 4.6SPY%: switch Yahoo Finance fetch from 1mo to 1d interval so incomplete current months still resolve to the latest available daily close. Legend colors: add explicit series-level color to each series so ECharts uses the right color in the legend icon (bar series was falling through to the default palette instead of green). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>1edbe67 -
feat: overlay portfolio % vs SPY % on monthly realized P&L chart
Bibhu Mishra +1: Claude Sonnet 4.6API: monthlyPnl() now also returns portfolio_pct (cumulative % gain from initial $5000 using portfolio snapshots) and spy_pct (cumulative SPY % from portfolio start date, fetched from Yahoo Finance monthly data). UI: adds a right y-axis for %, a legend, and two line series (Portfolio % in blue, SPY % in dashed amber) over the existing P&L bars. Chart height bumped to 260px to accommodate the legend. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>b61efdf
-
feat: fix portfolio chart — time axis, P&L lines, live today point
Bibhu Mishra +1: Claude Sonnet 4.6Three issues fixed on 'Portfolio Value Over Time': 1. Category x-axis spaced dates equally regardless of real time gaps; switched to ECharts time axis so spacing reflects actual calendar gaps. 2. No P&L data — backend now enriches each snapshot with cumulative realized P&L (from SELL transactions) and derived unrealized P&L (total_value - 5000 - realized_pnl). Dual right Y-axis shows P&L scale separately from the ~$5000 portfolio value scale. 3. No current-state point — a live 'today' data point is appended using the already-loaded portfolio/summary/price data once prices finish loading, so the chart always reaches the present. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>1cc69ca
-
Add GitHub Actions CI/CD, HF Space deployment, market hours guard, and static serving
Bibhu Mishra +1: Claude Sonnet 4.6- Dockerfile (multi-stage Node build, port 7860 for HuggingFace) - .github/workflows/deploy-hf.yml — force-push to HF Space on every main push - .github/workflows/market_analyst.yml — cron 9:30 AM CST Mon–Fri + workflow_dispatch - .github/workflows/paper_trader.yml — crons 10 AM / 12 PM / 2:45 PM CST Mon–Fri - .github/workflows/retrospective.yml — cron Mon 5 AM UTC (Sun 11 PM CST), no market gate - agents/core/market_hours.py — check_or_exit() exits cleanly when market is closed; FORCE_RUN=true bypasses (set automatically on workflow_dispatch from admin) - Market Analyst and Paper Trader call check_or_exit() at startup - api/src/app.module.ts — ServeStaticModule serves ui/dist when present (production) - api/src/main.ts — add HuggingFace Space origin to CORS - api/src/agent-runs/agent-runs.service.ts — trigger() now dispatches GitHub Actions workflow_dispatch with force=true instead of spawning local shell scripts - ui/src/views/AdminView.vue — live market-hours banner + market tag…abc493d