The assistant, docked
The same chat, moved into a panel on the right of a page it does not own. Open it from Ask AI or with โJ, and close it when it is in the way.
The panel sits beside the page in app/assistant/layout.tsx, not inside it. Every route under that layout gets the assistant without knowing about it.
Which chat is open is panel state rather than a route, so opening one from the history never changes the address this page sits at.
Below the header the panel is the message scroller and composer from /chat, mounted unchanged.
The sidebar on the left is sidebar-07 with a provider of its own: it folds to icons, keeps its rail, its trigger and โB. The assistant holds its own state and answers to โJ, so the two collapse independently.
Your page carries on here.