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

@@ -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

View File

@@ -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.

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