cody
cody copied to clipboard
Reviewer Load balancing selection based on time
Currently, selection of reviewers from a filtered list is random and leads to unbalanced PR assignment. This can cause delays and sometime replacing the reviewer after waiting for couple of days for the original reviewer A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Proposing a smarter version for selecting a reviewer based on the previous load. The algorithm would try to average the load on every reviewer in last 7 days. It is not based on the current pending PR which a reviewer has to review but would also account for the ones which it been already reviewer. Additionally, algorithm would also make sure that same reviewer even with less number of PRs to review wouldn't be assigned two consecutive PRs for review (if other reviewer is present). This is to not overwhelm a reviewer who is maybe new to the reviewer list or have paused the reviewer due to unavailability or high workload. ** A clear and concise description of what you want to happen.
Thought of using a plain round robin approach but that would miss a reviewer completely if at a particular time reviewer was unavailable. The above approach is somewhat doing round robin keeping other parameters in consideration A clear and concise description of any alternative solutions or features you've considered.
Additional context Add any other context or screenshots about the feature request here.
Draft PR - https://github.com/aergonaut/cody/pull/724
Open for suggestions.