| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 6 days | fix: align deploy flow with post-receive checkout (no .git in /var/www) | Tyler Hoang | |
| The working tree at /var/www/prism-v2 is populated by a post-receive hook that does `git --work-tree=... checkout -f`, so it has no .git directory. Drop git operations from deploy.sh and add scripts/post-receive.sample plus README setup for the bare repo + hook + sudoers wiring. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> | |||
| 6 days | feat: add scripts/deploy.sh for idempotent production deploys | Tyler Hoang | |
| Handles first-time install (--install) and redeploys: pulls, builds backend and frontend as www-data with the required HOME/NPM_CONFIG_CACHE env, restarts systemd services, and smoke-checks /health and /. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> | |||
| 6 days | docs: tighten README, AGENTS, CLAUDE with production deploy instructions | Tyler Hoang | |
| Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> | |||
| 2026-05-21 | fix: rewrite polar smile with correct closed-lens geometry | Tyler Hoang | |
| - Piecewise angleFor: puts go CCW (ATM→bottom), calls go CW (ATM→bottom) so both wings meet at the same bottom point and the path closes with Z - Dynamic ivToR computed from actual IV range across all expiries (inner floor 60px, outer wall 240px) instead of hardcoded percentages - IV rings: 5 evenly-spaced steps between real ivLo/ivHi - Curve fill: rgba(194,170,122,0.12) matching design reference - Non-selected curves: index-based styles (solid fg-1, then dashed fg-2/3/4) - Eye price at font-size 30, label lowercase 'call · fair' - Dashed marker-line spoke from center to selected-K dot - Clicking a curve switches the selected expiry via onPickT - Strike ticks use round multiples of a price-adaptive step - Fix IvHeatmap xlabs duplicate key error (key by index, not rounded K) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | |||
| 2026-05-20 | feat: implement options tab with Black-Scholes pricer and vol surface | Tyler Hoang | |
| Adds a fully interactive options tab: Terminal view (3-column Bloomberg- style with pricer, chain, smile/term-structure/greek curves) and Surface view (polar smile dial + IV heatmap). Uses synthetic vol surface until a live yfinance chain endpoint is wired up. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | |||
| 2026-05-19 | Update production deployment templates and docs | Tyler Hoang | |
| 2026-05-19 | Fix production API base for ticker search | Tyler Hoang | |
| 2026-05-19 | feat: add nginx config with /api/ proxy block for VPS deployment | Tyler Hoang | |
| Routes /api/ to the FastAPI backend (8001) so NEXT_PUBLIC_API_BASE_URL can be set to the public domain instead of localhost. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | |||
| 2026-05-19 | fix: use ▲▼ glyphs in VolumeCard per design system whitelist | Tyler Hoang | |
| Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | |||
| 2026-05-19 | fix: resolve quality review issues in PriceVsValueCard | Tyler Hoang | |
| - Add 150ms ease transitions to pvv-fill and pvv-tick (design system) - Move fill color to modifier CSS classes, drop inline background/opacity - Guard iv === 0 to prevent Infinity in premium/discount label - Remove ambiguous direction arrows from IV figure - Add "projection" suffix to year count in assumption summary Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | |||
| 2026-05-19 | feat: add PriceVsValueCard to overview left column (DCF compass) | Tyler Hoang | |
| Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | |||
| 2026-05-19 | feat: fetch valuation on overview tab, add DCF block to ValuationOverviewCard | Tyler Hoang | |
| Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | |||
| 2026-05-19 | systemd | Tyler Hoang | |
| 2026-05-19 | unified start/stop script and included systemd files | Tyler Hoang | |
| 2026-05-19 | feat: add ValuationOverviewCard to overview right column (multiples) | Tyler Hoang | |
| Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | |||
| 2026-05-19 | feat: replace StatsCard with QualityCard (margins, returns, leverage) | Tyler Hoang | |
| Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | |||
| 2026-05-19 | fix: correct VolumeCard bar transition to 150ms per design system | Tyler Hoang | |
| 2026-05-19 | feat: add VolumeCard to overview left column (today vs 30d avg) | Tyler Hoang | |
| Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | |||
| 2026-05-19 | chore: remove unused unavailableFields helper | Tyler Hoang | |
| 2026-05-19 | feat: remove Coverage card from overview tab, move Profile to top of right ↵ | Tyler Hoang | |
| column Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | |||
| 2026-05-19 | chore: ignore next-env.d.ts | Tyler Hoang | |
| 2026-05-19 | feat: add real-time DCF sliders to ValuationCard | Tyler Hoang | |
| Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | |||
| 2026-05-19 | fix: replace undefined --fs-10/11 vars with --fs-12 in DCF slider CSS | Tyler Hoang | |
| 2026-05-19 | feat: add DCF slider CSS to prism-shell | Tyler Hoang | |
| 2026-05-19 | feat: add client-side computeDcf utility | Tyler Hoang | |
| 2026-05-19 | feat: add projection_years to DcfResult frontend type | Tyler Hoang | |
| 2026-05-18 | feat: add projection_years to DcfResult schema and service output | Tyler Hoang | |
| Add projection_years: int = 5 field to the DcfResult Pydantic schema and emit it from the data_service.get_valuation() function across all three dcf_out cases (unavailable, error, and successful). This enables frontend DCF sliders to know the default projection horizon. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | |||
| 2026-05-18 | Merge branch 'feat/key-ratios-tab' | Tyler Hoang | |
| 2026-05-18 | fix: add no-key fallback for sector ratio benchmarks | Tyler Hoang | |
| 2026-05-18 | fix: populate sector benchmark values for ratios tab | Tyler Hoang | |
| 2026-05-18 | feat: wire Ratios subtab into FinancialsPage, move tab strip up from ↵ | Tyler Hoang | |
| FinancialsCard | |||
| 2026-05-18 | feat: add RatiosPage data-fetch wrapper | Tyler Hoang | |
| 2026-05-18 | feat: add RatiosCard component with hero KPIs, sparklines, and detail rows | Tyler Hoang | |
| 2026-05-18 | feat: add RatioPoint, RatiosResponse types and api.ratios() | Tyler Hoang | |
| 2026-05-18 | feat: add GET /api/tickers/{symbol}/ratios route | Tyler Hoang | |
| 2026-05-18 | fix: correct historical ratios share and debt inputs | Tyler Hoang | |
| 2026-05-18 | Add ratios service and tests | Tyler Hoang | |
| 2026-05-18 | feat: add RatioPoint and RatiosResponse schemas | Tyler Hoang | |
| 2026-05-18 | chore: ignore local worktrees | Tyler Hoang | |
| 2026-05-18 | updated gitignore | Tyler Hoang | |
| 2026-05-18 | feat: wire valuation tab routing and enable nav item | Tyler Hoang | |
| 2026-05-18 | feat: add ValuationPage data-fetch wrapper | Tyler Hoang | |
| 2026-05-18 | feat: add ValuationCard component and psm-val-* CSS | Tyler Hoang | |
| 2026-05-18 | feat: add ValuationResponse types and api.valuation() method | Tyler Hoang | |
| 2026-05-18 | feat: add GET /api/tickers/{symbol}/valuation route | Tyler Hoang | |
| 2026-05-18 | feat: add get_valuation() service function | Tyler Hoang | |
| 2026-05-18 | feat: add _run_dcf, _run_ev_ebitda, _run_ev_revenue, _run_price_to_book | Tyler Hoang | |
| 2026-05-18 | feat: add valuation math helpers and VALUATION_CACHE | Tyler Hoang | |
| 2026-05-18 | feat: add DcfResult, MultipleResult, ValuationResponse schemas | Tyler Hoang | |
| 2026-05-18 | docs: add valuation tab implementation plan | Tyler Hoang | |
