Rein synchronisierende Aenderung, um die harte Invariante 'licensing.py
byte-identisch in beiden Repos' zu wahren -- der TESM-Client selbst
nutzt role aktuell nicht aktiv (er ist immer 'customer'), aber das
Sub-Lizenzserver-Feature auf dem Lizenzserver (siehe dortiges Release)
braucht die Erweiterung in derselben Datei.
- LICENSE_ROLES = ('master', 'license_server', 'customer'), neues
role-Feld in der signierten Lizenzdatei-Payload (issue_license()).
- license_status() liefert role mit, faellt bei fehlendem Feld
(aeltere Lizenzdateien) auf 'customer' zurueck.
- Verifiziert: role ist Teil der signierten Payload -- eine nachtraeg-
liche Manipulation der Rolle macht die Signatur ungueltig.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>