Skip to main content

UX-WSF-001 — Use one root response contract

FieldValue
StatusOpen; source-verified
SeverityHigh
Componentssparqd/oqullus, sparqd/bff-api, sparqd/workspace-file-management-backend
Associated issuesNot opened

Concrete observed case​

GET /workspace/v2/users returns {folders: [...]}. General browsing accepts folders, but root import, toolbar import, save/save-as fallback, and restore fallback read roots || data. Oqullus tests mock {roots: [...]}, masking the contract mismatch. Create-folder also requires a selected parent while the root-page selection is empty.

Expected condition​

One typed response contract resolves the signed-in user's own root explicitly. Root actions must not choose the first visible root, especially for platform administrators who can see multiple roots.

Why it matters​

Create, import, save-as, and restore can fail at the Workspace landing page or target a different visible user's root if selection falls back to the first row.

Existing controls and workarounds​

Enter the signed-in user's root folder before running a parent-dependent action.

Alternatives considered​

  1. Recommended: return and consume an explicit own_root plus separately paged visible roots.
  2. Standardize every caller on folders and select by owner.
  3. Preserve multiple aliases — rejected because it continues hiding drift.

Component involvement​

  • The backend returns an explicit, typed own-root identity.
  • BFF API documents and preserves the response contract.
  • Oqullus consumes one schema in every root resolver and uses contract fixtures in tests.

Reproduction and verification​

Follow WSF-S001.

Resolution conditions​

Close when contract tests use the real response schema and all create, import, save-as, and restore paths target the correct root from the root page.

Validation and blockers​

The mismatch is source-confirmed. A disposable live create/import check remains to prove every visible entry point on the deployed UI.