# Forms Interface Pattern Migration This migration applies the GovOPlaN interface pattern language to the Forms-owned definition catalogue, package import, and revision editor. Forms owns immutable reusable schemas; Forms Runtime continues to own values, submissions, receipts, and handoff execution. ## Surface Inventory | Surface | Archetype | Consequence class | Contract | | --- | --- | --- | --- | | `/forms` catalogue | Searchable definition library | Filter, export, import, create, or revise | Shared loading/error/empty/permission/help states and stable row actions | | Package import dialog | Consequential package review | Create local draft from external provenance | Assessment, required reason, guarded draft, never implicit publish | | Definition dialog | Versioned definition editor | Create immutable revision | Guarded editor, contextual schema help, explained validation and permission states | | Publication state | Governed lifecycle selector | Publish or retire exact revision | Admin-only availability and explicit lifecycle confirmation | | Field/page/localization editors | Structured schema composition | Change future runtime schema | At least one field, stable ordering, preview, localization and accessibility metadata | ## Consequence And Availability Rules - Every save creates an immutable revision with a reason. Runtime instances retain the exact revision with which they were created. - Publishing permits future authorized use. Retirement prevents future use but does not erase definitions, submissions, receipts, or evidence. - Imported packages become local drafts and retain source provenance. - Missing write or administration authority remains visible with an Access destination; retired definitions show a lifecycle explanation. - Optional Runtime, Portal, Workflow, Case, and Policy behavior remains behind declared interfaces and capabilities. The module uses shared controls, dialogs, blockers, field help, statuses, loading, empty/error states, disabled reasons, confirmations, and unsaved-draft guards. The catalogue now composes `WorkspaceFrame`, `ActionToolbar`, `FilterBar`, and `StatePanel`; equal-column definition/editor groups use `FormGrid`, while field, page, localization, and preview headings use the shared section-header toolbar surface. Core therefore owns viewport, search, state, heading, and narrow-layout geometry. These contracts do not change filter scope, permissions, revision semantics, or publication consequences. English and German catalogues cover the owned route and editor vocabulary.