What color names communicate to engineers
Design tokens are the handoff layer between design and engineering. When tokens are named by raw color values or palette positions ('blue-500', 'neutral-300'), the name communicates nothing about intended usage. Engineers implementing features without designer oversight — which is most features in most engineering environments — default to choosing tokens by visual approximation rather than semantic role. This produces color drift: the 'button text' color being pulled from 'text-primary' in one component and 'gray-900' in another, producing values that look similar but are not equivalent and diverge when themes change. Semantic naming prevents this by encoding intent directly into the token name. 'button-label-default' is unambiguous in a way that 'gray-900' is not.
