test / unit + widget + golden + a11y (push) Failing after 29s
test / integration_test (xvfb) (push) Has been skipped
test / bundle smoke (xvfb 5s) (push) Has been skipped
test / daemon subprocess + web WASM smoke (push) Has been skipped
test / dart doc (lib API) (push) Failing after 34s
The sidebar had outgrown one scroll (stats + roster + config don't fit). A sub-tab strip now switches between three surfaces: Activity (usage stats + the primary session's live runtime), Team (the member roster, auto-fronted when a team spawns and otherwise quiet), and Config (the Claude-environment settings table over ClaudeConfig). Activity and Config render their key→value rows through one shared table (same label column + row pitch + header style) so toggling tabs doesn't move anything. The expandable skills/agents/commands/permissions/MCP browser on the Config tab is the follow-up (T-183). Exposes StreamJsonSession.status so the runtime row can seed from the session's current state. T-182, D-77. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>