About your original question, you can do a good deal of schema decoration by arguments to resolver literals, though you do need to roll your own conventions. Eg
{ :projects {:type :ProjectList :resolve [:resolvers/projects {:user/required-role :user.role/admin}]}}
}}}
...then you'd need to implement the resolver that checks for :user/required-role
and returns either the right object or nil