# 0011: Dynamic panels have persistent local identities Status: accepted for the GPUI product slice. The six-surface fixture remains a deterministic benchmark shared with Floem; it is not the product's panel database. GPUI layers an unbounded workspace registry above it. Add Panel creates Terminal, Browser, Markdown, or Review beside the selected panel. Each new panel receives a monotonically increasing `PanelId` that is never derived from its title, position, surface, process ID, or visible index. The registry persists panel identity, kind, title, target, order, attachment, selection, and the next unused ID as one versioned, credential-free SQLite snapshot. Invalid snapshots fail closed to the seed layout rather than partially restoring aliases. SQLite never stores terminal output, credentials, private keys, subscription tokens, or Buzz identity secrets through this boundary. Every Terminal panel uses its `PanelId` as the runtime-registry key. Detaching changes only layout attachment, so the actor and PTY keep running. Reattaching selects the same ID. A restored in-process spike must currently launch a new PTY for that persisted panel because actor durability across UI process restarts requires the planned separate Lumbridge runtime and authenticated IPC; the UI does not pretend otherwise.