449312cf2b
Auto-mode reserved 25% of the sidebar height for each of Plan / Todos / Tasks / Agents regardless of content, so on a typical 32-row sidebar each slot was ~8 rows. With Todos/Tasks/Agents empty (the common case when a goal is set but no checklist exists), Plan ended up with ~5 content rows of its 8-row slot consumed by header + token bar + separator, and steps got silently clipped — the user-reported "sidebar broken / Plan disappearing". Build the constraint list dynamically: include a slot only for panels that actually have content. Plan always renders (it owns the session-wide empty hint). Todos/Tasks/Agents collapse to zero rows when empty, letting the visible panels share the full height.