87 lines
2.9 KiB
Markdown
87 lines
2.9 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 --> |
|
|
|
|
## 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. -->
|