docs: add instrument-aware quote unit story
This commit is contained in:
@@ -108,6 +108,9 @@ Deliverables:
|
|||||||
- replacing every float in every Pydantic/dataclass immediately
|
- replacing every float in every Pydantic/dataclass immediately
|
||||||
- redesigning third-party payload models wholesale
|
- redesigning third-party payload models wholesale
|
||||||
- changing public UI formatting behavior just for type purity
|
- changing public UI formatting behavior just for type purity
|
||||||
|
- solving instrument-level share-to-underlying conversion semantics such as `GLD share = 0.1 ozt` inside this slice alone
|
||||||
|
|
||||||
|
That broader instrument-aware unit problem is tracked separately in `CORE-002`.
|
||||||
|
|
||||||
## First candidate sub-slices
|
## First candidate sub-slices
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ notes:
|
|||||||
- Priority ordering is maintained here so agents can parse one short file first.
|
- Priority ordering is maintained here so agents can parse one short file first.
|
||||||
priority_queue:
|
priority_queue:
|
||||||
- CORE-001D
|
- CORE-001D
|
||||||
|
- CORE-002
|
||||||
- BT-003B
|
- BT-003B
|
||||||
- PORT-003
|
- PORT-003
|
||||||
- BT-002
|
- BT-002
|
||||||
@@ -42,6 +43,7 @@ states:
|
|||||||
- BT-003B
|
- BT-003B
|
||||||
- BT-001C
|
- BT-001C
|
||||||
- CORE-001D
|
- CORE-001D
|
||||||
|
- CORE-002
|
||||||
in_progress: []
|
in_progress: []
|
||||||
done:
|
done:
|
||||||
- DATA-001
|
- DATA-001
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
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: >
|
||||||
|
Model quoted instruments with explicit asset/share units and conversion multipliers
|
||||||
|
so prices like GLD are never misinterpreted as physical-gold ounce prices.
|
||||||
|
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.
|
||||||
|
- Tests cover GLD share <-> troy-ounce conversion and reject unsupported mixed-unit operations.
|
||||||
|
technical_notes:
|
||||||
|
- 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.
|
||||||
Reference in New Issue
Block a user