The shared profile selector on the config-backed settings pages rendered the
canonical slug, so a renamed default profile or a titled Bot read as its
machine id while every sibling surface (sidebar switcher, profiles page, Bots
roster) showed the chosen identity.
Two coupled causes:
- the chip callsite read profile.name directly, never resolving through the
display-name helper the other surfaces use;
- the REST /api/profiles row never carried the Bot Mode title
(profile.yaml ui_meta['hermes-bots'].title), so no Settings-side fix could
reach the name the roster shows.
The REST row now exposes bot_title alongside display_name (same precedence the
Bots roster resolves: bot title -> display_name -> canonical slug), and the
chip labels through it. Canonical name remains the identity everywhere —
selection, routing, and the override store keep keyed on the slug.