← All posts

A sidebar you can hold in your head

Reports moved out of the daily driver, three pairs of pages became one page with tabs, and the engineer's door stopped living in everyone's nav. One registry now feeds the sidebar, the palette and the breadcrumb. Release notes 2026-09-15 — vocion-core#347.

Vocion Teamvocion-v2.74.0

Status: shipped. vocion-core #347 is merged onto the release branch release/2026-09-15-rail (the commit inside it is 6e4c9033) and deployed to a deployment we operate. The pull request is still landing on main individually behind that release branch.

The sidebar had accumulated. Team report and Activity sat in the workspace nav next to Chat, as if reading a report about the work were the same kind of act as doing it. A </> Developers link sat permanently under everyone's pinned pages, including the people who will never call an API. Teams and Agents were two pages that each carried a link to the other. Skills, Tools and Vision models were three pages describing one catalogue.

The sweep did four things.

The Manage sections after the sweep. Team, Knowledge, Build, Insights — and Organization below the fold. Reports live under Insights; Teams & agents and Skills & tools are each one row.

Reports moved to Insights. Team report and Activity are now in Manage › Insights, alongside Observability, Autonomy and Adoption. The work nav is the daily driver — talk, decide, read, find — and a report about how the work went is a different act from doing it.

Three pairs became three pages. Teams and Agents are the org chart and the roster: one page, two tabs. Skills, Tools and Vision models are what agents know how to do and what they can reach: one page, three tabs. Every tab keeps its own URL — /dashboard/teams, /dashboard/agents, /dashboard/skills, /dashboard/tools, /dashboard/models — so a deep link, a bookmark or a pin you already had still lands where it landed. The breadcrumb reads Teams & agents › Agents, and the browser tab title follows it.

Developers became a page. It is one page under Manage › Organization now: the MCP server and REST endpoints, how to authenticate against them, API credentials for admins, and the docs. /dashboard/api-tokens redirects to it.

The Developers page. Everything an engineer needs to connect something to the workspace, on one page, behind one door instead of a permanent icon in the main nav.

One registry feeds all of it. features/navigation/dashboardNav.ts is now the single source: DASHBOARD_GROUPS for the order and titles, DASHBOARD_ROUTES for each route's group, label, icon, admin gating, palette keywords and which page it is a tab of. The sidebar, the ⌘K palette and the breadcrumb all derive from it — the sidebar no longer hard-codes a URL list per group. Moving a page between sections is now a one-line change in one file, and a test file pins the result.

A few things deliberately did not merge. Activity and Observability stayed separate: Activity answers what did the team do from Vocion's own tables; Observability answers what did it cost and where are the traces and is a launch pad into Langfuse. They share one number, not a job — putting them together would have produced a longer page, not a clearer one.

One footnote on sequencing. This PR left Review in the work nav; the unified decision surface removed it a few hours later on the same release branch, by deleting one row from this registry and adding a palette-only alias in its place. That is the point of the registry: the second change was smaller than the first.

Where this lives in the repo

vocion-core#347, shipped on release/2026-09-15-rail (6e4c9033).

Not verified: the browser test project hangs on the build machine and was not run for this PR, and the French labels in the PR are hand-written rather than translated.

Related: One place to decide and A pattern library for list, detail and ledger.