-- Teil D.6 Schritt 1 (Umsetzungsauftrag_Sonnet5.md): drei nie durchgesetzte -- ("tote") Rollen entfernen, je nach Betreiberentscheidung. Der Betreiber -- hat sich fuer alle drei fuer "Entfernen" statt "Ausimplementieren" -- entschieden (Rueckfrage vom 2026-08-31): -- -- * clipboard -- Clipboard bleibt ausschliesslich ueber das -- host-globale hosts.clipboard_enabled -- gesteuert (heutiges Verhalten, unveraendert). -- * session_recording_view -- Sitzungs-Playback bleibt dauerhaft -- ausschliesslich globalen Admins vorbehalten -- (require_global_admin, unveraendert). -- * admin_hostgroup -- keine delegierte Hostgruppen-Admin-Ebene; -- es bleibt bei genau zwei Stufen (globaler -- Admin vs. granulare Rollen ueber Gruppen). -- -- Diese drei Rollen waren seit 0001_initial.sql vergebbar, aber kein -- einziger Codepfad hat sie je geprueft (siehe D.1 im Umsetzungsauftrag) -- -- das Entfernen aendert daher am tatsaechlichen Verhalten NICHTS, schliesst -- aber die falsche Sicherheitserwartung, dass eine Vergabe dieser Rollen -- irgendeine Wirkung haette. -- -- Reihenfolge wichtig: zuerst alle Vergaben dieser Rollen loeschen (FK -- role_id -> roles(id) hat keine eigene ON DELETE-Klausel, siehe -- 0001_initial.sql:88/0004_user_groups.sql:28), erst danach die -- roles-Zeilen selbst. DELETE FROM user_hostgroup_roles WHERE role_id IN (SELECT id FROM roles WHERE name IN ('clipboard', 'session_recording_view', 'admin_hostgroup')); DELETE FROM group_hostgroup_roles WHERE role_id IN (SELECT id FROM roles WHERE name IN ('clipboard', 'session_recording_view', 'admin_hostgroup')); DELETE FROM roles WHERE name IN ('clipboard', 'session_recording_view', 'admin_hostgroup');