docs: record CORE-002 completion
This commit is contained in:
@@ -12,10 +12,7 @@ notes:
|
||||
- Priority ordering is maintained here so agents can parse one short file first.
|
||||
priority_queue:
|
||||
- CORE-001D
|
||||
- CORE-002C
|
||||
- BT-003B
|
||||
- BT-003B
|
||||
- CORE-002
|
||||
- PORT-003
|
||||
- BT-002
|
||||
- BT-001C
|
||||
@@ -26,12 +23,12 @@ priority_queue:
|
||||
- OPS-001
|
||||
- BT-003
|
||||
recently_completed:
|
||||
- CORE-002
|
||||
- CORE-002C
|
||||
- CORE-001D2B
|
||||
- CORE-001D2A
|
||||
- CORE-002B
|
||||
- CORE-002A
|
||||
- CORE-001D1
|
||||
- SEC-001
|
||||
states:
|
||||
backlog:
|
||||
- DATA-002A
|
||||
@@ -45,8 +42,6 @@ states:
|
||||
- BT-003B
|
||||
- BT-001C
|
||||
- CORE-001D
|
||||
- CORE-002
|
||||
- CORE-002C
|
||||
in_progress: []
|
||||
done:
|
||||
- DATA-001
|
||||
@@ -67,7 +62,9 @@ states:
|
||||
- CORE-001C
|
||||
- CORE-001D2A
|
||||
- CORE-001D2B
|
||||
- CORE-002
|
||||
- CORE-002A
|
||||
- CORE-002B
|
||||
- CORE-002C
|
||||
blocked: []
|
||||
cancelled: []
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
id: CORE-002
|
||||
title: Instrument-Aware Quote Units and Conversion Multipliers
|
||||
status: backlog
|
||||
priority: P0
|
||||
effort: M
|
||||
depends_on:
|
||||
- CORE-001A
|
||||
- CORE-001B
|
||||
- CORE-001C
|
||||
tags: [core, units, pricing, domain]
|
||||
summary: >
|
||||
Complete the instrument-aware quote-unit rollout so quoted instruments like GLD are
|
||||
handled explicitly as USD/share and only converted to ounce-equivalent values through
|
||||
named metadata-backed seams.
|
||||
acceptance_criteria:
|
||||
- GLD quotes are modeled explicitly as prices per share, not as ambiguous gold-ounce prices.
|
||||
- Instrument metadata encodes that 1 GLD share represents 0.1 troy ounces of gold exposure.
|
||||
- Storage/domain value classes know the unit relationship and convert correctly when calculations combine instrument prices with ounce-based quantities.
|
||||
- Cross-unit operations fail closed when no explicit instrument conversion path exists.
|
||||
- Visible ounce-based pages beyond overview use the explicit conversion seam instead of heuristic fallbacks.
|
||||
- Tests cover GLD share <-> troy-ounce conversion and reject unsupported mixed-unit operations.
|
||||
technical_notes:
|
||||
- `CORE-002A` is complete: overview now uses explicit GLD share -> USD/ozt conversion with quote-unit metadata and cache normalization.
|
||||
- `CORE-002B` is complete: hedge/runtime displays now use the explicit converted collateral spot seam and recompute runtime snapshots from that spot.
|
||||
- Remaining suggested slice is `CORE-002C`: historical/workspace collateral conversion alignment for backtests/event-style GLD share defaults.
|
||||
- Prefer explicit instrument/unit types over ad hoc scale factors in page/service code.
|
||||
- This should integrate with the Decimal/unit-safe domain model rather than bypass it with raw floats.
|
||||
- Consider extending historical/unit types so both live overview paths and backtesting/event paths can share the same conversion rules.
|
||||
@@ -1,22 +0,0 @@
|
||||
id: CORE-002C
|
||||
title: Historical Workspace Collateral to GLD Share Conversion Alignment
|
||||
status: backlog
|
||||
priority: P1
|
||||
effort: M
|
||||
depends_on:
|
||||
- CORE-002A
|
||||
- CORE-001C
|
||||
tags:
|
||||
- core
|
||||
- units
|
||||
- backtesting
|
||||
- event-comparison
|
||||
summary: Align workspace-derived collateral defaults with explicit GLD share semantics in historical/backtest-style paths so workspace collateral is converted through named metadata rather than ad hoc share assumptions.
|
||||
acceptance_criteria:
|
||||
- Backtest/event-style workspace seeding uses explicit metadata-backed collateral/share conversion rules.
|
||||
- Historical/unit materialization remains compatible while avoiding ambiguous share-vs-ounce assumptions.
|
||||
- Unsupported or missing conversion metadata fails closed.
|
||||
- Tests cover workspace-derived default seeding and changed browser-visible read paths where relevant.
|
||||
technical_notes:
|
||||
- Likely file targets include `app/domain/backtesting_math.py`, `app/services/backtesting/ui_service.py`, `app/services/backtesting/comparison.py`, and `app/services/event_comparison_ui.py`.
|
||||
- Reuse the instrument metadata seam introduced in `CORE-002A`/`CORE-002B`.
|
||||
20
docs/roadmap/done/CORE-002-instrument-aware-quote-units.yaml
Normal file
20
docs/roadmap/done/CORE-002-instrument-aware-quote-units.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
id: CORE-002
|
||||
title: Instrument-Aware Quote Units and Conversion Multipliers
|
||||
status: done
|
||||
priority: P0
|
||||
effort: M
|
||||
depends_on:
|
||||
- CORE-001A
|
||||
- CORE-001B
|
||||
- CORE-001C
|
||||
tags:
|
||||
- core
|
||||
- units
|
||||
- pricing
|
||||
- domain
|
||||
summary: Instrument-aware quote-unit semantics are now rolled out across overview, hedge/runtime, and historical workspace-derived paths.
|
||||
completed_notes:
|
||||
- `CORE-002A`: overview now treats GLD quotes as USD/share and converts through explicit instrument metadata.
|
||||
- `CORE-002B`: hedge/runtime now recomputes live collateral metrics from converted quote-unit semantics.
|
||||
- `CORE-002C`: historical/backtest/event workspace defaults now convert stored collateral weight into GLD share units explicitly.
|
||||
- Unsupported or missing conversion metadata fails closed instead of being guessed.
|
||||
@@ -0,0 +1,19 @@
|
||||
id: CORE-002C
|
||||
title: Historical Workspace Collateral to GLD Share Conversion Alignment
|
||||
status: done
|
||||
priority: P1
|
||||
effort: M
|
||||
depends_on:
|
||||
- CORE-002A
|
||||
- CORE-001C
|
||||
tags:
|
||||
- core
|
||||
- units
|
||||
- backtesting
|
||||
- event-comparison
|
||||
summary: Historical workspace defaults now convert persisted collateral weight into GLD share units through instrument metadata instead of dividing raw USD notional by historical entry spot.
|
||||
completed_notes:
|
||||
- Added `asset_quantity_from_workspace_config(...)` in `app/domain/backtesting_math.py`.
|
||||
- Backtests and event comparison workspace defaults now seed GLD historical units from stored collateral weight via the instrument metadata seam.
|
||||
- Added regressions for workspace-seeded historical defaults and route-level browser checks.
|
||||
- Follow-up UX hardening now explains undercollateralized historical starts with user-facing validation instead of raw internal model errors.
|
||||
Reference in New Issue
Block a user