PROD-CAT-003 — Replace fake Recents with a useful Catalog landing
| Field | Value |
|---|---|
| Status | Open finding; source-verified |
| Severity | Medium |
| Affected surface | Initial Catalog landing, Recents, Catalogs, and Last viewed |
| Implementation issue | oqullus #539 |
| Code-change repository | sparqd/oqullus |
Where the problem appears
Open Catalog, compare Recents with Catalogs, open an entry, return, and reload.
Concrete observed case
Recents and Catalogs show the same connection-derived rows. Last viewed is always N/A, and selecting a catalog records no visit locally or remotely.
Expected condition
With one authorized catalog, open it directly. With multiple, show a searchable Catalogs directory. With none, show no access; on dependency failure, show Retry. Add Recents only after durable user/workspace/catalog tracking exists.
Cause and evidence
- Recents applies no real recency filter.
- Every Last viewed value is a placeholder.
- Catalog selection only changes current browser state.
Why it matters
The first Catalog page adds a redundant click and represents a complete connection list as personalized history.
Existing controls and workarounds
Use Catalogs or the sidebar tree; ignore Recents and Last viewed.
Alternatives considered
- Recommended: state-driven landing based on authorized catalog count.
- Persist server-side recency with canonical identity — useful later, but unnecessary for the current single-catalog case.
- Browser-only recency — rejected because it is not portable, durable, or authoritative.
Component involvement
- Oqullus owns landing-state navigation.
- BFF supplies authorized catalogs and explicit dependency errors.
- A future preference service would own durable recency.
Reproduction and verification
Follow CAT-S016. Record the visible state, request outcome, effective identity, and recovery behavior relevant to this finding.
Resolution conditions
Close when one/many/none/error states follow the documented landing contract and no recency claim is shown without durable evidence.
Validation and blockers
Oqullus and product owners must validate the simplified landing.