Files
govoplan-approvals/docs/INTERFACE_PATTERN_MIGRATION.md
T

2.0 KiB

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, draft-guard, and WorkspaceLayout contracts. The shared split-pane shell keeps the request collection and selected evidence in independently scrollable panes, then stacks them at the platform narrow-layout breakpoint. Native selection buttons preserve keyboard order. English and German catalogues cover module-owned copy and dates follow the active platform locale.