feat(PORT-003): add historical ltv charts
This commit is contained in:
@@ -13,7 +13,6 @@ notes:
|
||||
- Pre-alpha policy: we may cut or replace old features without backward compatibility until alpha is declared.
|
||||
- Alpha migration policy: once alpha is declared, compatibility only needs to move forward; backward migrations are not required.
|
||||
priority_queue:
|
||||
- PORT-003
|
||||
- BT-002
|
||||
- BT-001C
|
||||
- EXEC-001
|
||||
@@ -23,6 +22,7 @@ priority_queue:
|
||||
- OPS-001
|
||||
- BT-003
|
||||
recently_completed:
|
||||
- PORT-003
|
||||
- BT-003B
|
||||
- CORE-001D
|
||||
- CORE-001D3C
|
||||
@@ -41,7 +41,6 @@ states:
|
||||
- DATA-002A
|
||||
- DATA-001A
|
||||
- OPS-001
|
||||
- PORT-003
|
||||
- EXEC-001
|
||||
- EXEC-002
|
||||
- BT-002
|
||||
@@ -55,6 +54,7 @@ states:
|
||||
- PORT-001
|
||||
- PORT-001A
|
||||
- PORT-002
|
||||
- PORT-003
|
||||
- PORT-004
|
||||
- SEC-001
|
||||
- SEC-001A
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
id: PORT-003
|
||||
title: Historical LTV Chart
|
||||
status: backlog
|
||||
priority: P2
|
||||
effort: M
|
||||
depends_on:
|
||||
- PORT-001
|
||||
tags: [portfolio, history, charts]
|
||||
summary: Record and display historical LTV snapshots.
|
||||
acceptance_criteria:
|
||||
- Store LTV snapshots over time.
|
||||
- Display 7/30/90 day charts with the margin threshold line.
|
||||
- Allow export as CSV.
|
||||
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