Summary
The sidebar workspace pane added in #1279 (workspace name, N memories · M not synced, skills synced …, manage URL) is not rendered on the TUI welcome screen. It appears only after the first message of a session. So the moment #1279 set out to create, where a user learns which workspace they are linked to and whether local memory has drifted from it, does not exist until they have already started working.
Observed on altimate-code 0.12.1 (tenant anandtest1) while testing the v0.12.0/v0.12.1 workspace features end to end.
Reproduction
- In a project linked to a workspace, start
ALTIMATE_WORKSPACE=1 altimate-code --yolo.
- Look at the welcome screen: no Workspace or MCP panel; the right side shows only the "What is Altimate Code" card and tips.
- Send any message. The sidebar appears with the Workspace pane (
pin-1 · 2 memories, manage URL).
- Run
/workspace → Unlink → confirm, then relink from the palette, all before sending a message: the toasts are correct, but nothing on screen shows the binding change until a message is sent.
Recordings: ~/demos/workspace-pilot/recordings/wd1-sidebar-sync-state.mp4 (pane appears mid first turn) and wd2-sidebar-unlink-relink.mp4 (unlink/relink on the welcome screen with no pane).
Why it matters
- The
/workspace menu and the sidebar were built as a pair: the pane surfaces the state, the menu acts on it. On the welcome screen only the menu exists, so Status/Refresh/Sync/Unlink are offered before the user has seen anything that suggests they are needed.
- A user opening a checkout to check "am I linked, and to what?" has to send a message to find out, which starts a model turn they may not want.
- The sidebar already updates the pane instantly on
onBindingChanged; there is no state reason to hide it before the first message.
Suggested fix
Render the Workspace pane (and the MCP pane) on the welcome screen when a binding is known, using the same Manage.status(dir, { poll: true }) the sidebar poller uses, so link/unlink/rebind and the memory/skill-sync lines are visible before the first message.
Summary
The sidebar workspace pane added in #1279 (workspace name,
N memories · M not synced,skills synced …, manage URL) is not rendered on the TUI welcome screen. It appears only after the first message of a session. So the moment #1279 set out to create, where a user learns which workspace they are linked to and whether local memory has drifted from it, does not exist until they have already started working.Observed on
altimate-code0.12.1 (tenant anandtest1) while testing the v0.12.0/v0.12.1 workspace features end to end.Reproduction
ALTIMATE_WORKSPACE=1 altimate-code --yolo.pin-1 · 2 memories, manage URL)./workspace→ Unlink → confirm, then relink from the palette, all before sending a message: the toasts are correct, but nothing on screen shows the binding change until a message is sent.Recordings:
~/demos/workspace-pilot/recordings/wd1-sidebar-sync-state.mp4(pane appears mid first turn) andwd2-sidebar-unlink-relink.mp4(unlink/relink on the welcome screen with no pane).Why it matters
/workspacemenu and the sidebar were built as a pair: the pane surfaces the state, the menu acts on it. On the welcome screen only the menu exists, so Status/Refresh/Sync/Unlink are offered before the user has seen anything that suggests they are needed.onBindingChanged; there is no state reason to hide it before the first message.Suggested fix
Render the Workspace pane (and the MCP pane) on the welcome screen when a binding is known, using the same
Manage.status(dir, { poll: true })the sidebar poller uses, so link/unlink/rebind and the memory/skill-sync lines are visible before the first message.