The cheap pre-check for the save-time guard. Field aggregation only ever consults rules bound to
a role the user holds, so a change to any other role's rule provably cannot move the system
user's access — which lets callers skip the work of projecting and re-aggregating for the
overwhelming majority of permission edits.
False on a cold cache, matching SystemUserFieldAccessLossReason's posture: with no system
user to reason about there is nothing to protect, and the startup sweep is the backstop.
Whether the MJ system user holds the given role.
The cheap pre-check for the save-time guard. Field aggregation only ever consults rules bound to a role the user holds, so a change to any other role's rule provably cannot move the system user's access — which lets callers skip the work of projecting and re-aggregating for the overwhelming majority of permission edits.
False on a cold cache, matching SystemUserFieldAccessLossReason's posture: with no system user to reason about there is nothing to protect, and the startup sweep is the backstop.