Migrate Approvals interface patterns
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# Approvals Interface Pattern Migration
|
||||
|
||||
This migration applies the GovOPlaN interface pattern language to the
|
||||
Approvals-owned route without changing the append-only approval model or
|
||||
importing optional sibling modules.
|
||||
|
||||
## Surface Inventory
|
||||
|
||||
| Surface | Archetype | Consequence class | Contract |
|
||||
| --- | --- | --- | --- |
|
||||
| `/approvals` list | Searchable work queue | Select request or create immutable chain | Shared loading, empty, error, permission, selection, and help states |
|
||||
| Approval detail | Governed record detail | Inspect exact subject, chain, state, and evidence | Locale-aware history, status, provenance, explained lifecycle actions |
|
||||
| Request dialog | Consequential definition editor | Freeze exact subject and approval chain | Guarded draft, field help, validation reasons, at least one step |
|
||||
| Decision dialog | Governed decision | Append approval or rejection evidence | Required reason/signature, guarded draft, explicit confirmation action |
|
||||
|
||||
## Consequence And Availability Rules
|
||||
|
||||
- Creation freezes the subject identity and digest plus every ordered step,
|
||||
selector, quorum, separation, and signature requirement.
|
||||
- Approving or rejecting appends attributable evidence and cannot be edited.
|
||||
- Only pending or escalated requests can be decided. Terminal requests remain
|
||||
available for reconstruction.
|
||||
- Missing create or decide permission is visible and points to the Access role
|
||||
assignment destination and responsible administrator.
|
||||
- Signature references are evidence pointers and never a cryptographic claim.
|
||||
|
||||
The module uses Core dialogs, controls, status, blockers, help, loading, empty,
|
||||
error, and draft-guard contracts. Native selection buttons preserve keyboard
|
||||
order; bounded list/detail viewports remain responsive. English and German
|
||||
catalogues cover module-owned copy and dates follow the active platform locale.
|
||||
Reference in New Issue
Block a user