Skip to main content

ARCH-CAT-002 — Use one catalog-tree presentation across Catalog and SQL Editor

FieldValue
StatusOpen finding; source-verified
SeverityMedium
Affected surfaceCatalog sidebar and SQL Editor object browser
Implementation issueoqullus #528
Code-change repositorysparqd/oqullus

Where the problem appears​

Expand the same catalog, schema, and table in Catalog and SQL Editor, then compare icons, loading, search, errors, and available actions.

Concrete observed case​

Both surfaces consume the same discovery state but render separate trees. Catalog treats tables as folders and stops expansion at schemas; SQL Editor uses table and column icons and can expand tables. Their placeholder actions and error behavior also differ.

Expected condition​

One accessible CatalogTree owns object types, icons, expansion, loading, errors, refresh, and search. Each surface supplies only its valid actions: navigation and governance in Catalog, identifier insertion and copying in SQL Editor.

Cause and evidence​

  • Both surfaces consume the same catalog context and backend discovery results.
  • Rendering, recursion, icons, and actions are independently defined.
  • The same table is visibly represented differently across the two surfaces.

Why it matters​

Duplicated presentation produces inconsistent errors, accessibility, object meaning, and maintenance. Fixes in one surface do not reliably reach the other.

Existing controls and workarounds​

Cross-check the object in SQL Editor when the Catalog hierarchy or icon is ambiguous. There is no workaround for inconsistent loading or recovery behavior.

Alternatives considered​

  1. Recommended: one shared tree with mode-specific capabilities.
  2. Share only low-level row components — insufficient because loading and error semantics would still diverge.
  3. Keep two trees and synchronize manually — rejected due to continuing drift.

Component involvement​

  • Oqullus owns the shared presentation contract.
  • BFF continues returning one canonical discovery model.
  • Catalog and SQL Editor retain separate valid action sets.

Reproduction and verification​

Follow CAT-S011. Record the visible state, request outcome, effective identity, and recovery behavior relevant to this finding.

Resolution conditions​

Close when the same object has the same identity, type, icon, loading, error, retry, and search behavior in both surfaces, with only intentional actions differing.

Validation and blockers​

Oqullus owns remediation. Product and accessibility review are required before closure.