Migrate Distribution Lists interface patterns
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# Distribution Lists Interface Pattern Migration
|
||||
|
||||
This migration applies the GovOPlaN interface pattern language to the
|
||||
distribution-list catalogue, revision editor, expansion preview, snapshot
|
||||
evidence, and reusable picker.
|
||||
|
||||
## Surface Inventory
|
||||
|
||||
| Surface | Archetype | Consequence class | Contract |
|
||||
| --- | --- | --- | --- |
|
||||
| `/distribution-lists` catalogue | Governed work queue | Select, create, or delete a list | Shared loading, empty, permission, disabled-reason, and help states |
|
||||
| Definition editor | Consequential definition editor | Save immutable revision | Guarded list and nested-entry drafts with contextual field semantics |
|
||||
| Expansion preview | Evidence preview | Resolve current saved revision | Explicit exclusions, provider availability, provenance, and decision explanations |
|
||||
| Frozen snapshots | Evidence register | Retain exact expansion | Immutable recipients, exclusions, source revisions, parameters, provenance, and hash |
|
||||
| Distribution-list picker | Shared object selector | Reference a list | Searchable selector with contextual definition help |
|
||||
|
||||
## Consequence And Availability Rules
|
||||
|
||||
- Saving creates an immutable list revision; previews and snapshots use only a
|
||||
saved revision.
|
||||
- Include, exclude, and manual-override entries have distinct semantics. Manual
|
||||
override requires an auditable reason.
|
||||
- Freezing is confirmed because it creates retained evidence consumed by other
|
||||
modules. Deleting the reusable definition does not rewrite retained snapshots.
|
||||
- Provider absence is explained and never turns an optional integration into a
|
||||
hard dependency.
|
||||
- Missing write permission and incomplete or unchanged drafts expose a reason
|
||||
and required next action instead of a silent disabled control.
|
||||
|
||||
Backend and WebUI manifests publish the same surface identifiers. English and
|
||||
German catalogues cover the module-owned interaction vocabulary, and contextual
|
||||
help resolves through manifest documentation rather than detached UI guidance.
|
||||
Reference in New Issue
Block a user