Add a triage document for the dart migrate tool.

Change-Id: I4ba33889c6171d012fc6a4239f4409c5fe9de005
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172661
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
This commit is contained in:
Paul Berry 2020-11-17 21:39:48 +00:00 committed by commit-bot@chromium.org
parent 520165383e
commit d0a23d8106

View file

@ -0,0 +1,72 @@
# Triage Priorities for Dart Migration tool
This document describes the relative priorities for bugs filed under the
`area-migration` tag in GitHub as in
[this search](https://github.com/dart-lang/sdk/issues?q=is%3Aopen+is%3Aissue+label%3Aarea-migration).
While there are always exceptions to any rule, in general try to align our
priorities with these definitions.
To triage bugs, search for `area-migration`
[bugs that are not currently triaged](https://github.com/dart-lang/sdk/issues?q=is%3Aopen+is%3Aissue+label%3Aarea-migration+-label%3AP0+-label%3AP1+-label%3AP2+-label%3AP3+-label%3AP4)
and for each bug, mark priority based on how closely it matches with the below
constraints.
## Migration tool triage priorities
Descriptions here use [terms and definitions](#terms-and-definitions) from the
end of this document. If your bug doesn't precisely match one of these,
consider how impactful it is compared to examples given here and pick a priority
reflecting that.
### P0
* Crashes that can't be worked around by `--ignore-exceptions`, typical impact or widespread.
* Crashes that can be worked around by `--ignore-exceptions`, widespread.
### P1
* Crashes that can be worked around by `--ignore-exceptions`, typical impact.
* An enhancement required for critical milestones for key users, or that has
significant evidence gathered indicating a positive impact if implemented.
* A problem that is significantly impairing a key user's ability to migrate
their code.
### P2
* Crashes, edge case.
* An enhancement with typical impact that doesn't fit the criteria above but
would still be significantly beneficial to users (i.e. more than just a "would
be nice" feature).
* A problem with typical impact that doesn't fit the criteria above, but impairs
users' ability to migrate their code.
### P3
* Crashes, theoretical.
* An enhancement that doesn't fit the criteria above.
* A problem that doesn't fit the criteria above, but impairs users' ability to
migrate their code.
## Terms and definitions
### Terms describing impact
* "widespread" - Impact endemic throughout the ecosystem, or at least far
enough that this is impacting multiple key users.
* "typical impact" - Known to impact a key user, or likely to impact a
significant percentage of all users. Issues are assumed to have typical
impact unless we have evidence otherwise.
* "edge cases" - Impacting only small parts of the ecosystem. For example, one
package, or one key user with a workaround. Note this is an edge case from
the perspective of the ecosystem vs. language definition. Note that since the
migration tool is still in an early adoption phase, if a bug has only been
reported by one user, that's not sufficient evidence that it's an edge case.
To be considered an edge case, we need to have a concrete reason to suspect
that the bug is caused by an unusual pattern in the user's source code, or
unusual user behavior.
* "theoretical" - Something that we think is unlikely to happen in the wild
and there's no evidence for it happening in the wild.
### Other terms
* "key users" - Flutter, Pub, Fuchsia, Dart, Google3, 1P