databrickslabs / databrickslabs/ontos

[Feature]: Genie Spaces: Per-role UX complexity config + advanced creation dialog

Open
#124 0 comments 0 reactions 1 assignee View on GitHub

@mvkonchits-db is already working on this.

Since Mar 28, 2026.

type/feature
Dominant language
Python
Stars
212
Forks
71
Avg merge
4d 10h
Merged PRs (30d)
43

Description

Parent PRD

#108

What to build

Per-feature UX complexity configuration on roles, controlling which creation dialog controls are visible. Includes the advanced creation dialog with dataset cherry-picking and instruction editing.

  • Role model extension: Add per-feature UX complexity field to the role model — a JSON map of { feature_id: "basic" | "advanced" }. Default: all features set to "basic" for consumer roles, "advanced" for producer/admin.
  • Settings UI: Extend the role configuration in Settings to allow admins to set UX complexity per feature per role (e.g., "Basic Consumer" = basic for genie-spaces, "Advanced Consumer" = advanced).
  • Frontend permission hook: Extend the permissions/role system to expose UX complexity level for the current user's role for a given feature. New hook or extension of usePermissions.
  • Advanced creation dialog: When role has "advanced" for genie-spaces:
    • Dataset preview becomes a checklist — user can uncheck datasets to exclude them
    • Instructions section becomes editable — user can modify LLM-generated instructions
    • Additional metadata fields may be shown
  • Basic creation dialog: When role has "basic" for genie-spaces:
    • Datasets auto-selected (read-only preview, no checkboxes)
    • Instructions auto-generated (not shown or shown read-only)
    • Simplified form with just name + TTL override
  • Knowledge graph extensibility: Design the datasets field to accept entries from sources beyond products (future KG integration). Add a source field to each dataset entry (e.g., "product_output_port", "manual", "knowledge_graph").

Acceptance criteria

  • Role model supports per-feature UX complexity (basic/advanced)
  • Settings UI allows admins to configure complexity per role per feature
  • Frontend reads UX complexity from role/permissions for current user
  • Advanced dialog shows dataset checkboxes and instruction editor
  • Basic dialog shows simplified form without advanced controls
  • Dataset model supports source field for future extensibility
  • Existing creation flow works correctly for both modes
  • Role changes take effect on next page load (no app restart)

Blocked by

  • Blocked by #111 (Create API + creation dialog)
  • Blocked by #117 (Settings tab — role config lives in settings)

User stories addressed

  • User story 4 (cherry-pick datasets — advanced mode)
  • User story 5 (edit instructions — advanced mode)
  • User story 6 (simplified creation — basic mode)
  • User story 26 (per-role UX complexity configuration)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.