databrickslabs / databrickslabs/ontos
[Feature]: Genie Spaces: Per-role UX complexity config + advanced creation dialog
Open
@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
sourcefield 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
sourcefield 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.