docs: record CORE-001D1 completion
This commit is contained in:
@@ -11,8 +11,8 @@ notes:
|
|||||||
- One task lives in one YAML file and changes state by moving between status folders.
|
- One task lives in one YAML file and changes state by moving between status folders.
|
||||||
- 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-002
|
- CORE-002
|
||||||
|
- CORE-001D
|
||||||
- BT-003B
|
- BT-003B
|
||||||
- PORT-003
|
- PORT-003
|
||||||
- BT-002
|
- BT-002
|
||||||
@@ -24,12 +24,12 @@ priority_queue:
|
|||||||
- OPS-001
|
- OPS-001
|
||||||
- BT-003
|
- BT-003
|
||||||
recently_completed:
|
recently_completed:
|
||||||
|
- CORE-001D1
|
||||||
- SEC-001
|
- SEC-001
|
||||||
- SEC-001A
|
- SEC-001A
|
||||||
- CORE-001A
|
- CORE-001A
|
||||||
- CORE-001B
|
- CORE-001B
|
||||||
- CORE-001C
|
- CORE-001C
|
||||||
- PORT-004
|
|
||||||
states:
|
states:
|
||||||
backlog:
|
backlog:
|
||||||
- DATA-002A
|
- DATA-002A
|
||||||
|
|||||||
@@ -7,13 +7,14 @@ depends_on:
|
|||||||
- CORE-001B
|
- CORE-001B
|
||||||
- CORE-001C
|
- CORE-001C
|
||||||
tags: [core, decimal, persistence]
|
tags: [core, decimal, persistence]
|
||||||
summary: Make Decimal/unit-safe values reliable across persistence, APIs, and provider boundaries.
|
summary: Complete the remaining Decimal/unit-safe boundary cleanup after the shipped persistence seam.
|
||||||
acceptance_criteria:
|
acceptance_criteria:
|
||||||
- Persistence format for unit-safe values is explicit and stable.
|
- Provider and cache adapter boundaries are explicit, documented, and tested.
|
||||||
- Decimal-bearing JSON/API serialization is documented and tested.
|
- Decimal-bearing JSON/API serialization expectations are documented for remaining external seams.
|
||||||
- Float-heavy integrations have named conversion boundaries.
|
- Float-heavy service entrypoints are narrowed or wrapped in named normalization adapters.
|
||||||
- Remaining raw-float domain hotspots are identified or removed.
|
- Remaining raw-float domain hotspots are identified or removed.
|
||||||
technical_notes:
|
technical_notes:
|
||||||
- Prioritize portfolio/workspace persistence, provider normalization, and cache serialization seams.
|
- `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.
|
- 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.
|
- See `docs/CORE-001D_BOUNDARY_CLEANUP_PLAN.md` for the current hotspot inventory and proposed sub-slices.
|
||||||
|
|||||||
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