Original source: 0005-issue-labels.md
Summary
Currently, our issue labels are ad-hoc and somewhat confusing. This defines several categories of label, and how to use them.
Detailed design
Here are the categories of issue label. Each label is composed of the category
name and the label name. For example, area-snark or priority-critical.
-
area-. This narrows general area of the codebase or feature that this issue impacts.buildcatchupclientconsensusdaemondocsgossipmonitoringproposerprotocolsdksnarksnarkertestnettestsuxwebsite
-
impact-. This describes the general impact of the issue.bandwidth: uses too much bandwidthcrash: there's a crashdisk: uses too much disk spacedos: liable to a remote denial of service attackinsecure: an attacker can exploit this for nefarious endslatency: takes too longmemory: uses too much memoryslow: our code is slower than it could be
-
effort-. This estimates how much experience (with OCaml/the codebase/whatever) is necessary to resolve an issue.easy: not much experience necessaryhard: a lot of experience necessary, will be challengingmedium: some experience necessary
-
category-. General, broad-stroke categories useful for filtering the issue list.bugduplicateenhancement: not necessarily a feature, and might fix some bugs, but improves some aspect of the codebase.feature-requestmentored: this issue has someone who can mentor contributors through fixing itquick-fix: the necessary change has already been identified, and it will take someone already familiar with the codebase less than around half an hour to implement it.refactorregression: this issue was previously already fixed.rfc
-
priority-. How urgent it is to fix the issue.criticalhighlow
-
status-. This indicates something about the current status of the issue.cannot-repro: reproduction attempts failedneeds-info: issue isn't detailed enough to act onneeds-repro: needs to be reproducedneeds-rfc: this change needs nontrivial design work that should be done in an RFC.
-
planning-. When we plan on doing thisafter-testnet: after the public testnet is releasedfor-testnet: before the public testnet is released
Rationale and alternatives
The idea with most of these categories is to partition the issues along various axes to make it easy to filter and track them. The labels within most categories aren't intended to be mutually exclusive. The main exception is "Priority".
Keep in mind that only repo collaborators can add/remove issues. Maintainers should apply labels to new issues as appropriate.