Files
govoplan-addresses/docs/INTERFACE_PATTERN_MIGRATION.md

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.