Every semantic token is a configurable step on the accent hue or gray family — configured on the Foundation page (Semantic mapping section), where all theme decisions live.
Components consume semantic roles, never palette steps. "A softer gray for that text" is text-muted-foreground, not text-gray-400. Roles survive an accent or gray-family change; raw steps do not.
A stated hex is a starting point, not a value — map it to the nearest palette step, reach it through a role, and say which step now carries it. The only place palette steps are named directly is the Foundation's mapping itself.
Based on the Product Design Harness playbook
Distilled from 40,000+ hours of product design for SaaS and enterprise at the bleeding edge of AI
Frontier AI Design & Engineering Lab