feat(CORE-001D1): harden unit-aware workspace persistence
This commit is contained in:
@@ -108,9 +108,6 @@ Deliverables:
|
||||
- replacing every float in every Pydantic/dataclass immediately
|
||||
- redesigning third-party payload models wholesale
|
||||
- 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
|
||||
|
||||
@@ -130,3 +127,13 @@ That broader instrument-aware unit problem is tracked separately in `CORE-002`.
|
||||
- Decimal/unit-safe values cross boundaries through named adapters
|
||||
- remaining float-heavy hotspots are either removed or intentionally documented as edge-only
|
||||
- no regression in existing browser-visible flows
|
||||
|
||||
## Pre-launch rollout policy
|
||||
For the current pre-launch stage, the storage schema may make a clean breaking transition.
|
||||
|
||||
That means:
|
||||
- newly persisted numeric domain values should use explicit structured unit-aware storage
|
||||
- old flat storage payloads do not need compatibility or migration yet
|
||||
- invalid or old-format payloads should fail loudly instead of being silently normalized
|
||||
|
||||
A real migration path should be introduced later, once persistence is considered live for users.
|
||||
|
||||
@@ -15,4 +15,5 @@ acceptance_criteria:
|
||||
- Remaining raw-float domain hotspots are identified or removed.
|
||||
technical_notes:
|
||||
- Prioritize portfolio/workspace persistence, provider normalization, and cache serialization seams.
|
||||
- Pre-launch policy: unit-aware schema changes may be breaking until persistence is considered live; old flat payloads may fail loudly instead of being migrated.
|
||||
- See `docs/CORE-001D_BOUNDARY_CLEANUP_PLAN.md` for the current hotspot inventory and proposed sub-slices.
|
||||
|
||||
Reference in New Issue
Block a user