Dark: black red green blue
Light: magenta yellow cyan white
But on xterm it is quite different:
Dark: black red green blue magenta yellow cyan
That anomaly could be worth fixing.
According to this classification, yellow is a dark color,
as it were suitable as a foreground color for light backgrounds.
I think that is a non-issue. Emacs never chooses foreground colors
based on such a classification. The only thing Eacs does based on
this classification is to set the background mode. So this
classification has no relevance for anything else.
OTOH, the formula I proposed in January produces the same
classification on TTY, xterm and X as:
Dark: black red green blue magenta
Light: yellow cyan white