Files
govoplan-datasources/docs/INTERFACE_PATTERN_MIGRATION.md
T

33 lines
2.2 KiB
Markdown

# 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 with privacy-safe quality/schema diagnostics, explicit promotion confirmation, and immutable validation evidence on the 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.