docs: record CORE-001D1 completion

This commit is contained in:
Bu5hm4nn
2026-03-25 13:35:54 +01:00
parent 132aaed512
commit 1a2dfaff01
3 changed files with 30 additions and 7 deletions

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