# Templates Interface Pattern Migration This migration applies the GovOPlaN interface pattern language to the Template library, immutable-revision editor, preview/final-output workspace, and render evidence history. ## Surface Inventory | Surface | Archetype | Consequence class | Contract | | --- | --- | --- | --- | | `/templates` library | Governed directory | Select, create, or retire Template | Shared loading, empty, permission, read-only, disabled-reason, and help states | | Definition editor | Consequential definition editor | Save immutable revision | Guarded draft with scope, usage, required-data, layout, and content semantics | | Publish action | Governed lifecycle transition | Make one revision consumable | Permission/lifecycle explanation and explicit confirmation | | Preview/final output | Evidence-producing preview | Validate sample or render final output | Compatibility diagnostics, published-revision gate, confirmation, and retained hashes | | Revision/render history | Evidence register | Inspect immutable history | Stable status, timestamps, digests, artifact availability, and bounded download | ## Consequence And Availability Rules - Saving creates a new immutable revision. Publishing never rewrites an older revision or its render evidence. - Inherited or policy-constrained Templates remain visible but identify why they are read-only, who can change that, and where to continue. - Final output requires a published revision and explicit confirmation. It records template, input, output, and renderer evidence and may use Files only through the optional artifact capability. - Deleting prevents future selection while retained revisions and renders stay governed by retention policy. Backend and WebUI manifests publish the same surface identifiers. English and German catalogues cover module-owned vocabulary, contextual help resolves from manifest documentation, and create/editor drafts are guarded across selection, reload, and navigation.