Migrate Datasources interface patterns

This commit is contained in:
2026-08-03 13:46:58 +02:00
parent 98d93e707f
commit 6406ce70f1
7 changed files with 516 additions and 37 deletions
+32
View File
@@ -0,0 +1,32 @@
# Datasources Interface Pattern Migration
This migration applies the GovOPlaN interface pattern language to the governed
Datasource catalogue, staging area, connector-origin catalogue, governance
editor, previews, and immutable materialization history.
## Surface Inventory
| Surface | Archetype | Consequence class | Contract |
| --- | --- | --- | --- |
| `/datasources` catalogue | Governed directory | Select, register, refresh, freeze, govern, or retire | Shared loading/empty/error, permission, disabled-reason, contextual-help, and read-only states |
| Staging | Review/preflight queue | Upload, validate, inspect, and promote | Non-consumable bounded stage, explicit promotion confirmation, immutable resulting revision |
| Connector origins | Optional-provider directory | Register a live or cached source | Provider availability and supported modes without hard Connectors dependency |
| Governance editor | Effective authority/provenance editor | Change institutional data context | Guarded draft, authority/source/owner/purpose/quality/freshness semantics |
| Preview/materializations | Evidence register | Inspect current sample and immutable revisions | Row/schema bounds, freshness, provenance, fingerprints, hashes, and frozen labels |
## Consequence And Availability Rules
- Static uploads become usable only after staged review and explicit promotion.
- Cached refresh and stage promotion append immutable materializations; they do
not rewrite prior execution evidence.
- Freezing creates a labelled immutable state for reproducible consumers.
- Retirement blocks new definitions while retained materialization references
continue under their governing retention policy.
- Connector origin absence is an explained optional-capability state. Local
catalogue, staging, and static data remain usable.
- Governance metadata may be discoverable independently of protected rows and
never grants row access.
Backend and WebUI manifests publish matching route/section/action surfaces.
English and German catalogues cover owned vocabulary, registration/governance/
freeze drafts are guarded, and module integrations remain capability-based.