Does it make sense to make it inherit more narrowly, only when the parent resource is the same class as the guard resource?  Or are you purposefully allowing for different classes of execute resources to inherit cwd?  I can see the utility in duck typing this way, but I can also see a possible edge case where the name of an attribute in the parent might be the same but the parent might be some strange LWRP with different semantics and this causes surprise.