Files
govoplan-templates/docs/INTERFACE_PATTERN_MIGRATION.md

33 lines
2.0 KiB
Markdown

# 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.