PROD-CAT-004 — Remove non-persistent catalog and schema metadata controls
| Field | Value |
|---|---|
| Status | Open finding; source-verified |
| Severity | High |
| Affected surface | Catalog and schema Description and Tags |
| Implementation issue | oqullus #540 |
| Code-change repository | sparqd/oqullus |
Where the problem appears
Edit a catalog and schema description, attempt tag changes, navigate away, and reload.
Concrete observed case
Description Save updates only the in-memory tree and disappears on reload. Tag panels receive no data or mutation callbacks, while persistent DataHub-backed metadata exists only for table and column scope.
Expected condition
Hide catalog/schema metadata controls until a durable authoritative scope, authorization, audit, conflict, and refresh contract exists. Never report Save when only browser state changed.
Cause and evidence
- Description changes do not reach a persistent service.
- Tag controls have no catalog/schema data or mutation path.
- Table/column support cannot be assumed to apply to higher scopes.
Why it matters
Users can lose governance edits while believing they were saved, undermining trust in metadata management.
Existing controls and workarounds
Use supported table/column metadata or the authoritative external metadata system. Do not use catalog/schema Save or Add tags.
Alternatives considered
- Recommended: hide unsupported scopes.
- Extend canonical DataHub metadata to catalog/schema after identity and policy design.
- Store browser-local drafts — rejected unless explicitly labelled as drafts and intentionally supported.
Component involvement
- Oqullus removes false controls and reports actual persistence.
- BFF/DataHub integration owns any future scope expansion.
- Security owns mutation authorization and audit.
Reproduction and verification
Follow CAT-S017. Record the visible state, request outcome, effective identity, and recovery behavior relevant to this finding.
Resolution conditions
Close when controls are removed or changes persist across sessions with canonical identity, authorization, audit, conflict handling, and visible failure recovery.
Validation and blockers
Oqullus is primary; DataHub, BFF, product, and security owners validate future support.