id: CORE-001D title: External Boundary and Persistence Cleanup for Decimal Unit Types status: backlog priority: P2 effort: M depends_on: - CORE-001B - CORE-001C tags: [core, decimal, persistence] summary: Complete the remaining Decimal/unit-safe boundary cleanup after the shipped persistence seam. acceptance_criteria: - Provider and cache adapter boundaries are explicit, documented, and tested. - Decimal-bearing JSON/API serialization expectations are documented for remaining external seams. - Float-heavy service entrypoints are narrowed or wrapped in named normalization adapters. - Remaining raw-float domain hotspots are identified or removed. technical_notes: - `CORE-001D1` is complete: portfolio/workspace persistence now uses an explicit unit-aware schema with strict validation and atomic saves. - Remaining focus is `CORE-001D2` provider/cache normalization and `CORE-001D3` service entrypoint tightening. - 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.