Wave 1 · Shell

One nav model — portal + admin

Replaces the 3-tab chrome + ActSubnav + drifted tree. Every state below derives from the same capability model (portal-nav.ts caps, gates unchanged). March is pinned and bold until Sept 26.

Portal top bar — the reveal ladder

same bar, more revealed as roles unlock · hard caps unchanged
{{ tier.name }} {{ tier.cap }}
Save the Dogs
{{ tab.label }}{{ tab.pill }}
Admin ↗
Search ⌘K
🔥 4 · #23
J
{{ tier.note }}

Avatar menu — replaces the "You" tab

J
Jordan Diaz
Volunteer · Springfield, IL
{{ m.ic }}{{ m.label }}{{ m.badge }}
Settings
{{ m }}
Sign out

Mobile bottom bar — reconciled to the same model

page content
{{ mt.ic }} {{ mt.label }}
More
{{ ms.ic }}{{ ms.label }}{{ ms.meta }}
Base volunteer: Home · March · Events · Teams · More. "More" is a real labeled sheet of the remaining top-level items — replaces the hardcoded ⚡Act sheet. Role add-ons (Organize, Committee) appear in More as they unlock.

Admin top bar — surface more, priority-ordered

4 generic lanes → 9 domain items · March + Community first-class · ⌘K stays an accelerator
Save the Dogs Admin
{{ at.label }}{{ at.badge }}
Search ⌘K
Portal ↗
A
Triage ▾ — open dropdown
{{ tm.label }}{{ tm.count }}
The model
Dashboard · March · Triage ▾ · Community ▾ (People / Teams / Groups) · Events · Organizing ▾ (Leads & Directors / Pipeline / Mission) · Comms ▾ (Announcements / Email / Inbox / Moderation incl. Media) · Analytics ▾ (+ Growth: UTM, signup links) · Safety ▾ (restricted) · System ▾ (Access & Audit / Content / Channels). Lanes auto-hide on empty caps; every item keeps its shipped gate. The dashboard mirrors this as a persistent left rail — no more "everything else is in ⌘K."
New in the model vs the brief (from code audit): Tickets + Feedback under Triage · BeagleBot console + Documents under System › Content · Mission Control under Organizing · Auth log under Access & Audit.