From d0a23d81066847eebe716f030910a22ea21000bf Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Tue, 17 Nov 2020 21:39:48 +0000 Subject: [PATCH] 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 Reviewed-by: Samuel Rawlins Reviewed-by: Devon Carew --- pkg/nnbd_migration/TRIAGE.md | 72 ++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 pkg/nnbd_migration/TRIAGE.md diff --git a/pkg/nnbd_migration/TRIAGE.md b/pkg/nnbd_migration/TRIAGE.md new file mode 100644 index 00000000000..1abd578ac67 --- /dev/null +++ b/pkg/nnbd_migration/TRIAGE.md @@ -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