You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Once canvases become durable, shareable objects (#6) with lifecycle (#8) and replayable recipes (#11), they are first-class entities — but there is currently no place where a user can see them. A canvas exists only inside the session that has it open.
This issue proposes surfacing all materialised UIs (persisted canvases) in a browsable view, including their user assignments (owner + grantees), with two candidate presentations to evaluate:
(A) Integrate into the Omadia Graph — canvases appear as nodes in the kernel's graph alongside the entities they were built from, with edges to their data sources (via recorded dataRefs / recipe tool calls) and to the users they are assigned to.
(B) Dedicated canvas overview — a separate view (canvas library) in the host app listing all canvases the user owns or has been granted, with assignment info per canvas.
These are not mutually exclusive — (B) is the likely v1, (A) the richer follow-up once canvases carry enough provenance metadata (#11 provides exactly that).
Accountability: "who can see this canvas?" should be answerable at a glance — the assignment list is the management UI for the grant model.
Provenance (graph variant): a canvas built from specific records/tools is semantically connected to those entities. Showing it in the graph makes materialised UIs part of the tenant's knowledge surface rather than orphaned artifacts.
User assignments inline: owner badge + grantee list with mode (snapshot/live); owners can revoke from here. This is the UI for the grant model rather than a separate admin screen.
Tenant-scoped, permission-aware: users only ever see canvases they hold a reference to; there is no tenant-wide browse in v1.
Opening the node attaches the canvas; graph filters ("show all UIs assigned to user X", "all canvases built on entity Y") fall out of the edge model.
Requires kernel-side support — should be split into a companion issue on byte5ai/omadia when picked up.
Open questions
Thumbnails: render-side snapshot of the last revision (cheap, may go stale) vs. live mini-render (costly)? A stale thumbnail with the last-refreshed timestamp is probably fine for v1.
Where does the library live in the host app shell — alongside the session/start view, or as a pane the agent can also open (i.e., is the library itself a canvas)?
Does the graph variant belong in this repo at all, or entirely kernel-side with the host app only deep-linking into it?
Summary
Once canvases become durable, shareable objects (#6) with lifecycle (#8) and replayable recipes (#11), they are first-class entities — but there is currently no place where a user can see them. A canvas exists only inside the session that has it open.
This issue proposes surfacing all materialised UIs (persisted canvases) in a browsable view, including their user assignments (owner + grantees), with two candidate presentations to evaluate:
dataRefs / recipe tool calls) and to the users they are assigned to.These are not mutually exclusive — (B) is the likely v1, (A) the richer follow-up once canvases carry enough provenance metadata (#11 provides exactly that).
Motivation
Proposed behavior (v1 — canvas overview)
Graph integration (follow-up scope)
materialised-from→ data entities/tools (derived from the recipe, Bind the originating query to the canvas: persisted tool-call recipes for deterministic replay #11),assigned-to→ users (derived from grants, Canvas sharing: grant read access to other users (snapshot + live modes) #6),produced-in→ originating session/turn.byte5ai/omadiawhen picked up.Open questions
Related