## Что это
UI в `apps/electron/src/screens/Workspaces` для создания, переименования, удаления, переключения workspaces. Каждый workspace — изолированный путь `~/.rox/tenants//` с собственными credentials, sources, skills, sessions. Создание workspace: name + optional template (от blank до «full-stack engineer», «marketing manager»).
Переключение workspace — без перезагрузки app: state reset, fresh load из tenant-path, UI обновляется через React context refresh. Удаление — soft-delete (move в `~/.rox/tenants-trash//`) с возможностью restore в течение 30 дней.
Компоненты: `@rox-one/shared/workspaces`, `apps/electron/src/screens/Workspaces`. Settings UI с per-workspace overrides global config через cascading merge.
## Зачем
Workspaces — primary multi-tenant primitive: «work» vs «personal», «client A» vs «client B». Без CRUD без перезагрузки переключение контекстов ощущается как restart app, что убивает flow. Это PZD-86/87 цель.
## Источники вдохновения
- [openai/symphony](https://github.com/openai/symphony) — isolated autonomous agent runs с worktrees
- [nocobase/nocobase](https://github.com/nocobase/nocobase) — plugin no-code с workspace isolation + RBAC
- [tobi/try](https://github.com/tobi/try) — ephemeral isolated temp-dirs per session
- [ln-dev7/circle](https://github.com/ln-dev7/circle) — Linear-inspired UI с multi-workspace tracking
## 🔗 Linear
- [PZD-434](https://linear.app/kuhjie/issue/PZD-434) — backing ticket