You could then imagine running this diff before and after a change to show the diff. This makes it very clear for a user to understand how a given YAML change is impacting specific individuals.
Potential fallback?
While fully being able to simulate/analyze/determine Github's access permissions from a github-mgmt YAML would be ideal, a fallback is to list which roles/repos someone is gaining/losing access to.
Example:
@biglep
Removed from repos: repoName1/permissoinLevel1, repoName2/permissoinLevel2
Removed from teams: team1
That by itself will cut down on some of the confusion, but it will still need a disclaimer (e.g., "Even though your direct repo permissions have been removed, you may still have access through a team. Please check the full YAML file.").
Practical use-case
When doing permissions cleanup on an org, we want to tag users to notify them. When tagging them we need to make clear what is changing for them. Otherwise, they can easily misinterpret and assume that they are being removed from the org. I don't think we can assume the "lay person" to be up on the github-mgmt syntax and know how to quickly reason about the diff.
Ideal
I think there should be some tooling that answers for person X:
The current YAML file format is focused around repos and teams. I'm suggesting that we have a way to get a user-oriented view.
In a perfect world, the tooling could be fed the YAML file and return an entry per org member for their permission set. There's a potential JSON output example in https://github.com/libp2p/github-mgmt/pull/12#pullrequestreview-999621620.
You could then imagine running this diff before and after a change to show the diff. This makes it very clear for a user to understand how a given YAML change is impacting specific individuals.
Potential fallback?
While fully being able to simulate/analyze/determine Github's access permissions from a github-mgmt YAML would be ideal, a fallback is to list which roles/repos someone is gaining/losing access to.
Example:
That by itself will cut down on some of the confusion, but it will still need a disclaimer (e.g., "Even though your direct repo permissions have been removed, you may still have access through a team. Please check the full YAML file.").
Practical use-case
When doing permissions cleanup on an org, we want to tag users to notify them. When tagging them we need to make clear what is changing for them. Otherwise, they can easily misinterpret and assume that they are being removed from the org. I don't think we can assume the "lay person" to be up on the github-mgmt syntax and know how to quickly reason about the diff.
(https://github.com/libp2p/github-mgmt/pull/12#pullrequestreview-999621620 speaks to how there was confusion when folks were @mentioned and that they thought they were being removed from the org.)
Related
This came up in https://github.com/libp2p/github-mgmt/pull/12 and https://github.com/ipld/github-mgmt/pull/65