33 lines
2.0 KiB
Markdown
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.
|