{#- chirp-ui: App Shell component Full-page shell with topbar, sidebar, and main content area. Navigation is driven by explicit hx-boost on sidebar_link/nav_link, targeting #main to keep the sidebar and topbar persistent. In filesystem apps, the route/layout tree should declare matching Chirp domain metadata plus an outlet of main so route-aware links and boosted responses resolve to this shell consistently. Named slots: topbar_leading (always — non-anchor leading zone left of the brand, for a hamburger/back/menu affordance), brand (when brand_slot=true), topbar, topbar_end, sidebar, context_rail (when context_rail=true), default (main content). For routed apps, wrap the main slot with shell_outlet() so custom shells use the same #page-content contract as app_shell_layout.html. Route-context rail (context_rail=true): adds an optional secondary region (#chirpui-context-rail) on the trailing side, for an inspector/detail panel that updates with the current route. The update protocol mirrors shell actions: a route response includes an out-of-band fragment targeting the rail outlet — use context_rail_oob() from chirpui/oob.html, e.g. {% call context_rail_oob() %}