docs: mark PORTFOLIO-001 done, update roadmap
This commit is contained in:
26
docs/roadmap/done/PORTFOLIO-001-position-entries.yaml
Normal file
26
docs/roadmap/done/PORTFOLIO-001-position-entries.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
id: PORTFOLIO-001
|
||||
title: Position-Level Portfolio Entries
|
||||
status: backlog
|
||||
priority: P0
|
||||
size: M
|
||||
depends_on: []
|
||||
tags: [portfolio, domain-model]
|
||||
summary: Evolve from single-quantity portfolio to multi-position entries with individual entry dates and prices.
|
||||
acceptance_criteria:
|
||||
- User can add a position entry with underlying type (GLD shares, GC=F contracts, XAU grams/oz)
|
||||
- Each position has its own entry_price, entry_date, quantity
|
||||
- Portfolio page shows list of positions with individual P&L
|
||||
- Portfolio total collateral is sum of all position values in display currency
|
||||
- Backward compatible: existing single-entry portfolios migrate to one position entry
|
||||
- Settings page has "Add Position" and "Remove Position" controls
|
||||
- Position CRUD persists to workspace storage
|
||||
notes:
|
||||
- This is foundational for mode switching between GLD/GC=F/physical gold
|
||||
- Entry_date matters for conversion lookups (GLD backing varies by date)
|
||||
- Single-quantity legacy portfolios should auto-migrate to one position
|
||||
implementation_hints:
|
||||
- Add `Position` dataclass in `app/models/portfolio.py`
|
||||
- Add `positions: List[Position]` to `PortfolioConfig` (migrate `gold_ounces`/`entry_price` to first position)
|
||||
- Position underlying defaults to "GLD" for backward compat
|
||||
- Entry_date defaults to position creation date if not specified
|
||||
- Storage costs deferred to PORTFOLIO-002
|
||||
Reference in New Issue
Block a user