docs: add instrument-aware quote unit story

This commit is contained in:
Bu5hm4nn
2026-03-25 10:49:46 +01:00
parent 8270e2dcbb
commit 691277dea2
3 changed files with 28 additions and 0 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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.