3.1 KiB
3.1 KiB
Addresses Interface Pattern Migration
This migration applies the GovOPlaN interface pattern language to the Address Book route, source tree, contact directory/detail workspace, governance facts, imports, synchronization, quality review, and reversible merge operations.
Surface Inventory
| Surface | Archetype | Consequence class | Contract |
|---|---|---|---|
/address-book source tree |
Governed directory | Select, create, archive, restore, import, or connect source | Shared loading/empty/error, permission, read-only, help, and destructive confirmation states |
| Contact list/detail | Directory/list-detail | Inspect, create, revise, archive, restore, export, or add to list | Server pagination, stable selection, contextual contact semantics, and guarded drafts |
| Address-list editor/membership | Reference collection editor | Group reusable contact points | Same-book constraint, duplicate explanation, read-only provenance, and retained references |
| Communication governance | Effective-policy fact editor | Allow, suppress, prefer, or end a channel fact | Effective dates, legal/evidence context, required permissions, and retained history |
| CardDAV/LDAP/import/sync | External-provider operation | Preview and apply bounded external change | Explicit authority/direction, credentials, diagnostics, conflicts, stale state, and outcome evidence |
| Quality and merge | Governed correction workflow | Record quality, merge, undo, or split | Required reason, chosen survivor/field provenance, confirmation, redirects, and reversible evidence |
Consequence And Availability Rules
- User, group, tenant, and authorized system scopes determine discovery and management authority. Visible inherited or external sources can be read-only.
- Address lists group contact points in one address book. Cross-module reusable recipient expansion remains owned by Distribution Lists.
- Archive/delete actions are confirmed and preserve governed history according to retention. External-source disconnect retains local contacts but removes source diagnostics and conflict state as explicitly stated.
- Imports and synchronization separate preview from apply; incomplete external reads never infer deletions.
- vCard batch upload accepts multiple files, persists a non-mutating preview, and requires an explicit create/update/ignore choice for every reviewed card. Reload and cancellation preserve the pending plan; only applying the matching plan hash mutates contacts. Scoped exports name the selected vCard version and use deterministic ordering.
- Merge and communication-governance operations append auditable evidence and never silently erase prior state.
- Request feedback is rendered as a compact shared alert over the full-height workspace. It does not become a grid row or displace the source, contact, and detail columns.
Backend and WebUI manifests publish matching route/section/action surfaces. English and German catalogues include the owned interaction vocabulary; major object drafts are guarded, and optional modules remain behind declared capabilities rather than private imports.