feat(PORT-003): add historical ltv charts
This commit is contained in:
19
docs/roadmap/done/PORT-003-historical-ltv-chart.yaml
Normal file
19
docs/roadmap/done/PORT-003-historical-ltv-chart.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
id: PORT-003
|
||||
title: Historical LTV Chart
|
||||
status: done
|
||||
priority: P2
|
||||
effort: M
|
||||
depends_on:
|
||||
- PORT-001
|
||||
tags:
|
||||
- portfolio
|
||||
- history
|
||||
- charts
|
||||
summary: Workspace-scoped LTV snapshots are now recorded over time and rendered on the overview page with CSV export.
|
||||
completed_notes:
|
||||
- Added structured workspace-scoped LTV snapshot persistence in `app/models/ltv_history.py`.
|
||||
- Added chart-range and CSV export support in `app/services/ltv_history.py`.
|
||||
- Updated `app/pages/overview.py` to record snapshots, display 7/30/90 day LTV charts with the margin threshold line, and expose `Export CSV`.
|
||||
- Added focused regression coverage in `tests/test_ltv_history.py` for persistence, same-day replacement, range filtering, and CSV export.
|
||||
- Added a Playwright regression test in `tests/test_overview_ltv_history_playwright.py` covering the exact changed route, live rendered chart series on the overview page, and CSV download path on `/{workspace_id}`.
|
||||
- Manual local Docker validation confirmed the stack starts cleanly, `/health` returns OK, and the Docker-served overview route renders the LTV history UI without visible runtime errors.
|
||||
Reference in New Issue
Block a user