PROD-CAT-001 — Remove unsupported catalog lifecycle controls
| Field | Value |
|---|---|
| Status | Open finding; source-verified |
| Severity | Medium |
| Affected surface | Catalog create, schema create, owner, rename, and delete affordances |
| Implementation issue | oqullus #537 |
| Code-change repository | sparqd/oqullus |
Where the problem appears
Inspect Catalog and SQL Editor menus for Create Catalog, Add Schema, Set Owner, Rename, and Delete, then test only disposable entries.
Concrete observed case
Dormant and placeholder paths use catalog-management language but either change browser state, display a placeholder message, or have no backend operation. The semantics resemble a managed catalog product even though Trino/HMS/DataHub persistence and authorization are undefined.
Expected condition
Expose only lifecycle operations with an authoritative backend, explicit permissions, durable state, audit, conflict handling, and recovery. Remove or hide placeholder controls.
Cause and evidence
- Rename is browser-local and lost on refresh.
- Create/schema/owner paths have no complete persisted contract.
- SQL Editor contains placeholder actions that do not perform the named operation.
Why it matters
Users may believe they created, renamed, owned, or deleted a durable object when no platform state changed.
Existing controls and workarounds
Perform approved lifecycle operations through the authoritative data platform tooling, not these Catalog controls.
Alternatives considered
- Recommended: remove placeholders and design each lifecycle capability separately.
- Show disabled roadmap controls — rejected unless a specific availability reason and documentation are valuable.
- Implement a generic mutation endpoint — rejected because each operation has distinct engine, metastore, governance, and recovery semantics.
Component involvement
- Product defines supported lifecycle capabilities.
- Oqullus exposes only confirmed capabilities.
- BFF/platform services own durable execution, authorization, and audit.
Reproduction and verification
Follow CAT-S027. Record the visible state, request outcome, effective identity, and recovery behavior relevant to this finding.
Resolution conditions
Close when every visible lifecycle action is either removed or passes persistence, authorization, audit, conflict, failure, retry, and refresh verification.
Validation and blockers
Oqullus and product are primary; platform and BFF owners must approve any real lifecycle implementation.