AppSidebar replaced with fixed 64px icon rail and 224px secondary nav
hosman20 scraps the collapsible sidebar for a two-column desktop shell. The chrome is self-contained under `components/chrome/` but carries real dependencies: Mike 2.1 tokens, a /playbooks stub, and no mobile fallback.
Commit 571af72 replaces AppSidebar with two new components: frontend/src/components/chrome/icon-rail.tsx (64px wide, top-level nav icons) and frontend/src/components/chrome/secondary-nav.tsx (224px wide, contextual content including a Playbooks entry). The layout in (pages)/layout.tsx shrinks from ~94 to ~25 net lines as about 70 lines of sidebar toggle state management disappear. The new layout is [ IconRail 64w ][ SecondaryNav 224w ][ main fills ], all three columns side by side.
A few things to know before importing. Mobile: below md breakpoint both columns are hidden with no drawer fallback added yet. The SidebarContext is preserved for downstream consumers that still call setSidebarOpen, but the setter is now a no-op ((_open: boolean) => undefined) because the new chrome has no collapse state. The old AppSidebar.tsx stays on disk until a separate cleanup commit (9974612) deletes it. The Playbooks nav entry points to a route that 404s until the follow-up commit adds the stub.
Smoke tests in chrome.smoke.test.tsx cover IconRail and SecondaryNav rendering.
Spotted something wrong? Or know the PR text has fresher detail than the writeup above?