After enough frontend work, the “should we use TypeScript enums?” debate matters less than a more practical problem.

The enum itself is rarely the painful part.

The painful part is keeping labels, colors, options, filters, and validation logic in sync.

A status code starts as a simple backend value:

0 = draft