blob: 7a2be1dfe2e0e6b33c3238f66880764fe895fcae [file] [log] [blame] [view]
Andrew Gerrand5bc444d2014-12-10 11:35:11 +11001This document explains how we handle issue triage and scheduling in [the Go project's issue tracker](http://golang.org/issue).
2
Quentin Smith44069332016-10-03 14:50:35 -04003# Issue States
Andrew Gerrand5bc444d2014-12-10 11:35:11 +11004
Bryan C. Mills008880a2018-04-11 18:46:52 -04005Any issue must be in one of the following states. Project contributors move issues from one state to another. The intent behind these explicit states is to describe the (minimum) next steps required to bring the issue to resolution. Issues may move between states in any order, as dictated by the needs of the particular issue.
Andrew Gerrand5bc444d2014-12-10 11:35:11 +11006
Bryan C. Mills008880a2018-04-11 18:46:52 -04007### New
Quentin Smith44069332016-10-03 14:50:35 -04008- The issue has been filed.
9- May not be correctly formatted (title, etc).
Bryan C. Mills008880a2018-04-11 18:46:52 -040010- To transition from this state, someone must clean up the issue report and optionally CC people who might best investigate or fix it.
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110011
Bryan C. Mills008880a2018-04-11 18:46:52 -040012### Needs Investigation
13- Is correctly formatted.
14 - The title has a path prefix.
15 - The body describes the issue.
16- Has a milestone.
Agniva De Sarkered886a32018-05-25 11:30:07 +053017 - If the issue is not important, it is ok to set the milestone to unplanned. Otherwise, set it to the next upcoming release.
Quentin Smith44069332016-10-03 14:50:35 -040018- Has the label `NeedsInvestigation`.
Bryan C. Mills008880a2018-04-11 18:46:52 -040019 - May also have the label `WaitingForInfo` if the investigator is waiting for more information from someone (e.g., the issue reporter).
20- To transition from this state, someone must examine the issue and confirm that it is valid and not a duplicate of an existing issue.
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110021
Bryan C. Mills008880a2018-04-11 18:46:52 -040022### Needs Decision
23- The issue is real, but we're not sure what action to take.
24 - The issue can be addressed in Go 1.
25 - Feedback is required from experts, contributors, and/or the community before a fix can be made.
26 - Note that the majority of issues will never transition to this state, as most of the time the decision is an obvious Yes, this should be fixed.”
27- Has a milestone.
Quentin Smith44069332016-10-03 14:50:35 -040028- Has the label `NeedsDecision`.
Bryan C. Mills008880a2018-04-11 18:46:52 -040029 - May have the label `WaitingForInfo`.
30 - May have the label `Blocked` if forward progress depends upon the resolution of another issue or the release of a future version of Go. An accompanying comment should explain the blockage.
31 - Must not have the label `Go2`. (Those issues are handled separately.)
Quentin Smith44069332016-10-03 14:50:35 -040032- To transition from this state, someone must decide how the issue is to be resolved.
Bryan C. Mills008880a2018-04-11 18:46:52 -040033 - If the decision is complicated, the issue may be given a [`Proposal`](https://github.com/golang/proposal/) label. The issue remains in this state until the proposal process is complete, and moves to `NeedsFix` if approved.
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110034
Bryan C. Mills008880a2018-04-11 18:46:52 -040035### Needs Fix
Quentin Smith44069332016-10-03 14:50:35 -040036- The path to resolution is known, but the work has not been done.
Quentin Smith44069332016-10-03 14:50:35 -040037- Has a milestone.
Bryan C. Mills008880a2018-04-11 18:46:52 -040038- Has the label `NeedsFix`.
39 - May have the labels `Blocked` or `WaitingForInfo`.
Quentin Smith44069332016-10-03 14:50:35 -040040- To transition from this state, someone must do the work to fix the issue.
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110041
Bryan C. Mills008880a2018-04-11 18:46:52 -040042### Fixed
Quentin Smith44069332016-10-03 14:50:35 -040043- The issue is resolved. No further attention is required.
Bryan C. Mills008880a2018-04-11 18:46:52 -040044- The issue is closed.
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110045
Quentin Smith44069332016-10-03 14:50:35 -040046Issues move from one state to another where appropriate. For example, a contributor may file an issue, assign it to themselves, and immediately apply the `NeedsFix` label. Or, an issue may go from `NeedsDecision` to `NeedsFix`, only to later move back to `NeedsDecision` as complexities arise.
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110047
Quentin Smith44069332016-10-03 14:50:35 -040048An issue may be closed at any time, with a comment to indicate the reason for closure ("fixed by …", "duplicate of …", "working as intended", etc).
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110049
Quentin Smith44069332016-10-03 14:50:35 -040050At any state (except New) the issue may be assigned to someone.
51Unassigned issues are considered available for anyone to address.
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110052
Filippo Valsordadace1442018-04-11 18:20:10 -040053
Quentin Smith44069332016-10-03 14:50:35 -040054# Milestones
Bryan C. Mills008880a2018-04-11 18:46:52 -040055
Quentin Smith44069332016-10-03 14:50:35 -040056Milestones describe the timeline for issue resolution.
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110057
Quentin Smith44069332016-10-03 14:50:35 -040058- Go1.x.y
59
Ian Lance Taylor7e3d3392017-11-09 14:56:58 -080060 Must be fixed for release 1.x.y, or explicitly postponed to a later release.
Alberto Donizettie7a4a822017-02-01 22:37:32 +010061
Quentin Smith44069332016-10-03 14:50:35 -040062- Proposal
63
64 Is a proposal and does not pertain to a specific release.
Alberto Donizettie7a4a822017-02-01 22:37:32 +010065
Quentin Smith44069332016-10-03 14:50:35 -040066- Soon
67
68 Should be fixed soon, but is not included in or needed by a release.
Alberto Donizettie7a4a822017-02-01 22:37:32 +010069
Quentin Smith44069332016-10-03 14:50:35 -040070- Unplanned
71
72 Might be fixed at some point, but nobody is planning to do it.
Alberto Donizettie7a4a822017-02-01 22:37:32 +010073
Quentin Smith44069332016-10-03 14:50:35 -040074- Unreleased
75
76 Is not included in or needed by a release.
Alberto Donizettie7a4a822017-02-01 22:37:32 +010077
78- Gccgo
79
80 For gccgo issues.
81
Quentin Smith44069332016-10-03 14:50:35 -040082- Go2
83
84 Deferred until Go 2.
85
86Additional milestones may be used to manage specific project work.