marvin-mk2 icon indicating copy to clipboard operation
marvin-mk2 copied to clipboard

Marvin for issues

Open Ekleog opened this issue 3 years ago • 1 comments

Hey!

This is again an idea that can safely be postponed to after marvin with its current feature set lands.

I'm thinking, something similar to marvin would probably make sense too for issues too? With a state graph that'd look like:

  • needs_feedback: can become needs_more_details or needs_pr
  • needs_more_details: can become needs_feedback
  • needs_pr: equivalent of needs_merger, can become needs_more_details or has_pr
  • has_pr: can become needs_more_details, needs_feedback or needs_pr

What do you think? There'd basically be three roles:

  1. reporting issues: equivalent of PR author for PRs
  2. giving feedback, asking for more details or a reproducer: equivalent of PR reviewer in the current system
  3. creating a PR for solving an issue: equivalent of PR merger in the current system

The allowed transitions are:

  • needs_feedback -> needs_more_details or needs_pr: can be done only by “issue reviewers” (role 2)
  • needs_more_details -> needs_feedback: can be done by anyone (to avoid an unresponsive issue opener to block other people concerned with the issue from getting resolution)
  • needs_pr -> needs_more_details: can be done by PR creators (role 3) (closing the issue is done by just having “closes #issuenumber” in the created PR)
  • has_pr -> needs_more_details: can be done by roles 2 and 3
  • has_pr -> needs_feedback: can be done by anyone (eg. if the PR doesn't actually solve the issue)
  • has_pr -> needs_pr: probably should eventually be done automatically if the PR is closed, though in a first time this should probably be manual.

(I originally added a thing for “needs_reproducer,” and then decided it was not worth the complexity increase in the state transition graph)

Note that this would probably requires a special handling system for darwin-specific things, as I don't expect people can make PRs for darwin without having a darwin system themselves.

And then marvin could become like stale bot but better, by “stale”-ing only issues that are being blocked on needs_more_details as this is the only state in which it makes sense to stale issues.

What do you think?

(Again, this is exploratory only, I definitely believe there's strong value in marvin as it currently is, just taking advantage of the bugtracker to track ideas for future long-term improvements)

Ekleog avatar Dec 08 '20 15:12 Ekleog