docs: record CORE-001D1 completion
This commit is contained in:
22
docs/roadmap/done/CORE-001D1-persistence-seam.yaml
Normal file
22
docs/roadmap/done/CORE-001D1-persistence-seam.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
id: CORE-001D1
|
||||
title: Portfolio Persistence Serialization Seam
|
||||
status: done
|
||||
priority: P1
|
||||
effort: M
|
||||
depends_on:
|
||||
- CORE-001B
|
||||
- CORE-001C
|
||||
tags:
|
||||
- core
|
||||
- decimal
|
||||
- persistence
|
||||
- workspace
|
||||
summary: Portfolio and workspace persistence now use an explicit unit-aware schema with strict validation and atomic saves.
|
||||
completed_notes:
|
||||
- Added `schema_version: 2` persistence envelopes for portfolio/workspace config storage.
|
||||
- Persisted bookkeeping-sensitive numeric values now carry explicit unit or currency metadata.
|
||||
- Load path now rejects invalid JSON, unsupported schema versions, malformed payload shapes, and incomplete v2 payloads.
|
||||
- Save path now validates before writing and replaces files atomically.
|
||||
- Invalid workspace config files are no longer treated as routeable workspaces.
|
||||
- Legacy non-workspace routes were removed so canonical workspace URLs are the only supported dashboard paths.
|
||||
- Validated with unit tests, `make build`, and live Playwright on `main`.
|
||||
Reference in New Issue
Block a user