29 lines
1.8 KiB
YAML
29 lines
1.8 KiB
YAML
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.
|