Files
specs/openspec/schemas/wealth-ledger-sdd/templates/design.md
T

93 lines
3.1 KiB
Markdown

## Context
<!-- Current state and constraints that shape the approach. See proposal.md for motivation - don't restate it -->
## Goals / Non-Goals
**Goals:**
<!-- What this design aims to achieve -->
**Non-Goals:**
<!-- What is explicitly out of scope -->
## Decisions
<!-- Key design decisions with rationale and alternatives considered -->
## UI/UX Applicability and Package
<!-- Select new/changed, reuse, or N/A with a concrete reason. For N/A remove
the remaining package fields. Unchanged UI does not need a new mockup. -->
**Applicability and scope:**
**Package revision:**
<!-- Describe affected screens, applicable states, interactions and responsive
behavior inline. For reuse identify the exact immutable archived package,
using its store ID and path from the canonical OpenSpec root, the reused
portion and differences. A mutable catalog URL is not identity. -->
**Screens, states and interactions:**
**Responsive behavior:**
**Reused source and differences:**
<!-- Inline Markdown is the default portable material. Only when necessary,
list local PNG/SVG exports under visuals/ with the fields below; otherwise
remove this table and state that the package is fully inline. SVG must be
self-contained: no scripts, handlers or external assets/fonts. -->
| Material ID | Relative path | Screen/state and purpose | SHA-256 |
| --- | --- | --- | --- |
| <!-- id --> | <!-- visuals/file.png --> | <!-- purpose --> | <!-- file digest --> |
<!-- One approval covers this entire Design package. File digests bind bytes;
they do not prove approval. Do not self-hash Design. Materials must remain
accessible across sessions and archive without external accounts. -->
## Delivery Map
| Area | Status | Architectural outcome or N/A reason |
| --- | --- | --- |
| frontend | `affected` or `N/A` | <!-- concrete result or reason --> |
| backend | `affected` or `N/A` | <!-- concrete result or reason --> |
| specs | `affected` | <!-- normative result --> |
| docs | `affected` or `N/A` | <!-- as-built documentation result or reason --> |
### Contract Gate Decision
| Gate | Status | Reason |
| --- | --- | --- |
| runtime-openapi | `required` or `N/A` | <!-- required only when both API contract sides change; otherwise concrete N/A reason --> |
## Solution Assessment
<!-- Include only when the change crosses a mandatory build-vs-buy trigger.
Compare mature options and custom implementation; otherwise remove section. -->
## Risks / Trade-offs
<!-- Known risks and trade-offs -->
## Migration Plan
<!-- Delivery order and rollback, when applicable -->
### Rollback Contract
| Field | Decision |
| --- | --- |
| Status | `required` or `N/A` |
| Reason | <!-- concrete reason when N/A --> |
| Trigger | <!-- required when Status is required --> |
| Actions | <!-- required when Status is required --> |
| Data safety | <!-- required when Status is required --> |
| Verification | <!-- required when Status is required --> |
## Open Questions
<!-- Only questions that cannot change Specs, approach or Tasks; otherwise
resolve with the Change Owner before saving Design. Remove if empty. -->