The token-authority cap (require_super_admin/is_super_admin/require_devops_role
deny job tokens) is the actual fix, so:
- validate_on_behalf_of is now sync and sentinel-only. Dropped the belong-to
check (superadmin on_behalf_of_email must match on_behalf_of): it false-rejected
legitimate deploys (a superadmin who is not a member of the deploying workspace
with automate_username_creation off resolves to `…@unknown.windmill.dev`;
pre-existing inconsistent apps failed on redeploy) and the cap already closes
the escalation at execution.
- Removed forbid_superadmin_job_token from the 9 routes that call
require_super_admin first (now redundant with the cap). Kept it on the
self-service routes with no require_super_admin: create_token, set_password,
create_user.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>