Sidebar: show app panels below the workspace list

TE
3d ago
+198-16

App sections now render in the sidebar band below the workspace list. The band keeps the existing height cap and scrolling, releases mounts when sections disappear, and forwards app-header drops within the bottom band and between top and bottom through the existing document move. The footer and hidden ordinary bottom item sections keep their existing behavior.

Bottom-region app sections, including agents and coderouter, will now show after upgrade.

Leo (2026-11-02): "let’s do all these" — "A sidebar panel slot plus ’an agent writes the app, it hot-reloads’. This covers his PR view, makes Session Info extensible, and is mostly built."

Design: sidebar spec. The prior cx-n0i9 decision still applies to ordinary item sections. Related prior art: #26713 adds web panes beside chat; this builds on base without modifying it. Automatic daemon placement is in #33016.

Risk: normal. This restores app rendering in an existing band and extends existing header drag forwarding. Saved section order remains authoritative; there is no new persistence mechanism.

Changelog

  • Improved: Apps can show panels below the workspace list, and their headers can be dragged between sidebar bands.

Observed / Not run

  • Latest requested base merge is pushed at f558b7e0570f93ca7aada22045e156e4829737d3 (base e17575a9e2af1bf12e847858ffb69124835945ca), without rebase or force push. Code merged automatically; the notes conflict retains both entries. The fleet Release compile and app compile passed at this head; a separate Release-path compile check also passed (fleet job a76f279ac5f7276fc2d39462, 111 seconds). All four focused sidebar tests passed at this head (fleet step d40e9802cb748790a30a69c7, one suite passed, zero failed, exit 0).
  • Previous merged head f58bf7e036c077862d5537fc31d73721236b19f8 passed the app compile check (fleet job 21eb263a608127bed0531c28, 57 seconds) and all four focused sidebar tests (fleet step 8b082ef46f5e758d1d133bfd, one suite passed, zero failed, exit 0).
  • Four pure tests cover app-only selection, room scope and order, and moves between bands with hidden sections preserved.
  • Static checks and the app compile check pass at f0a88946064772d43facbca1e6a98da117e80e43 (compile job 2da7427ddfcd4a08d3a12bd5, 57 seconds). The focused direct Swift Testing run passed all four tests at this exact head (fleet step 08d27569914fb8915f1342cc, one suite passed, zero failed).
  • The standard package-test harness built successfully and ran all four tests successfully, but its empty XCTest phase crashed with signal 6 during startup. This is recorded as a failed harness run, not excused as a base red; the supported direct runner completed the focused suite successfully with exit 0.
  • Not run: interactive drag/rendering in a DEV build or end-to-end agent authoring. Screenshots are a follow-up.

Review at this exact head: Opus SHIP. Follow-ups: #33524 (stable band height and first/settled DEV captures), #33525 (cross-band drag test). The implementation owner owns both.

Agent session: agent session