docs: record CORE-002 completion

This commit is contained in:
Bu5hm4nn
2026-03-25 21:59:34 +01:00
parent 695f3d07ed
commit 960e1e9215
5 changed files with 43 additions and 57 deletions

View File

@@ -12,10 +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-002C
- BT-003B - BT-003B
- BT-003B
- CORE-002
- PORT-003 - PORT-003
- BT-002 - BT-002
- BT-001C - BT-001C
@@ -26,12 +23,12 @@ priority_queue:
- OPS-001 - OPS-001
- BT-003 - BT-003
recently_completed: recently_completed:
- CORE-002
- CORE-002C
- CORE-001D2B - CORE-001D2B
- CORE-001D2A - CORE-001D2A
- CORE-002B - CORE-002B
- CORE-002A - CORE-002A
- CORE-001D1
- SEC-001
states: states:
backlog: backlog:
- DATA-002A - DATA-002A
@@ -45,8 +42,6 @@ states:
- BT-003B - BT-003B
- BT-001C - BT-001C
- CORE-001D - CORE-001D
- CORE-002
- CORE-002C
in_progress: [] in_progress: []
done: done:
- DATA-001 - DATA-001
@@ -67,7 +62,9 @@ states:
- CORE-001C - CORE-001C
- CORE-001D2A - CORE-001D2A
- CORE-001D2B - CORE-001D2B
- CORE-002
- CORE-002A - CORE-002A
- CORE-002B - CORE-002B
- CORE-002C
blocked: [] blocked: []
cancelled: [] cancelled: []

View File

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

View File

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

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

View File

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