Ticket Triage
This page documents our ticket triaging process for a milestone.
We often end up with a lot of tickets in a milestone and unfortunately not enough capacity to address them all. Furthermore, we have a roadmap to respect so in order for a ticket to get into a milestone, it must match those criteria:
- Must-fix bugs, to include:
- Security issues (keyword:
security
) - Regressions (keyword:
regression
) - Crash bugs (keyword:
crash
)
- Security issues (keyword:
- Issues which are very very fast to fix, usually under an hour (keyword:
fast-fix
) - Roadmap item (see below for the process).
If you are unsure if a ticket should go in the Unspecified
milestone, mark it -proposed so we can decide during the network team weekly meeting if it should.
Triage Algorithm
For all tickets in a specific milestone (ex: 0.3.4.x), here are the 4 phases. The would be "034" for the context of the 0.3.4.x milestone.
PHASE ONE: Marking the root issues
- Make sure that all must-fix issues are tagged (Keywords) with -must and one or more of the following:
- security
- crash
- regression
-
For every issue that is very very fast to fix, if you believe that you will fix it and need less than 1 hour to do so, mark it fast-fix and assign it to yourself. (If it is worth fixing, and it will take less than an hour, and you will not do it yourself, convince somebody else to take it on.)
-
For every roadmapped master issue, tag the issue with -roadmap-master. Make sure that every subticket of that roadmapped master issue has that ticket as its parent, grand-parent, great-grandparent, etc.
-
If there are high-impact issues that are not yet marked, which you believe should be fixed in , you need to get them on the roadmap. Mark them as -roadmap-proposed. We should discuss this list regularly at the network team weekly meeting.
PHASE TWO: Transitive closure
- Iteratively identify every issue whose parent has -roadmap-master and mark that issue with -roadmap-subtask.
PHASE THREE: Getting ready to sweep
-
Mark every issue in the 0.3.4 milestone with -triage-.
-
For every kind of ticket that was marked in phase one or phase two above, mark it with -included-.
-
Find those tickets in 0.3.4 that are not marked with -included-. Mark them with -removed-.
-
Solicit comment on the removed tickets. Should any of them go into the roadmap after all?
PHASE FOUR: Sweeping the tickets
- Move every ticket in -removed-* into
Tor: unspecified
.