Skip to content

Commit 117cf22

Browse files
Process: Add documentation for labels, current and proposed
Co-authored-by: Anssi Kostiainen <[email protected]>
1 parent 479ce17 commit 117cf22

File tree

2 files changed

+107
-1
lines changed

2 files changed

+107
-1
lines changed

CONTRIBUTING.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ Similarly, a stylistic change does not necessarily require opening a GitHub Issu
2626
Follow the guidance in [SpecCodingConventions.md](SpecCodingConventions.md) for your change to ensure it aligns with best practices and existing conventions.
2727

2828
Bug fixes and new content changes should proceed as follows:
29-
1. **Open an issue in GitHub Issues** with a brief description of the problem and a potential solution if it's not already obvious. A proposal or suggestion for improvement may need a bit more explanation with possible references to related information. An active issue is the best way to get attention. Members of the Working Group scan active issues constantly.
29+
1. **Open an issue in GitHub Issues** with a brief description of the problem and a potential solution if it's not already obvious. A proposal or suggestion for improvement may need a bit more explanation with possible references to related information. An active issue is the best way to get attention. Members of the Working Group scan active issues constantly and should apply labels to help categorize them, following the guidance in [IssueTriage.md](IssueTriage.md). If you're a member of the Working Group, please apply appropriate labels to the new issue.
30+
3031
2. **Prepare the change in a pull request** and put a reference to the active issue(s) the change is addressing in the description. We prefer that a pull request is represented by a single type of change as outlined in the previous section for a speedy review and approval. Conversely, a specific change should also be captured by a single and not multiple pull requests. This helps to reduce the dependency between pull requests and the chance for the specification to be left in a transient state between multiple pull requests. Exceptions to this should be discussed and approved by the Working Group in one of our bi-weekly calls.
3132

3233
3. **Close the issue** once the pull request is reviewed and merged. Make sure to resolve any error that arises during the merge and check the post-merged published result. The Bikeshed document format isn't very good for an automatic merge, you may need to intervene and manually correct the merge's mistakes if any. You also want to make sure all the GitHub Actions that are put in place to catch document issues are all clean before merging the change into the main branch.

IssueTriage.md

+105
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# Triage Guidance for WebNN Repo
2+
3+
TODO: Consider removing these, or fit these into the documentation below.
4+
5+
- **enhancement** - unclear if this is about the spec text, the proposed API, etc. Prefer **feature request** etc.
6+
- **help wanted** - unclear what help is needed; use **needs PR** or **question** instead?
7+
8+
9+
## Label Usage
10+
11+
Labels are used for:
12+
13+
- Understanding the status of a specific issue and next steps to resolve it.
14+
- Understanding the scope of work remaining on broad efforts (e.g. aligning with best practices, fixing normative issues, etc)
15+
- Identifying areas to contribute.
16+
17+
The working group chairs and spec editors should regularly review bugs and ensure that labels are accurate, and ensure that issues are getting appropriate attention; for example, scheduling discussion of new feature requests, discussion to resolve outstanding questions, and drawing attention to issues that are ready for a contributor to author a PR.
18+
19+
20+
## Types
21+
22+
Every issue should have one of these issue types, and only rarely more than one.
23+
24+
- **bug** - a flaw in the specification that will require a normative fix; for example, an algorithm computes an output incorrectly
25+
- **conventions** - where the spec does not conform to specification best practices from Web IDL, Bikeshed, Infra, etc.
26+
- **use case** - a new use case for the API that should be documented or considered; may spawn other issues
27+
- **process** - a meta issue about how the specification is evolved; for example, a discussion of issue labels
28+
- **testing** - discussion of test coverage
29+
- **feature request** - suggestion for an addition to the proposed API
30+
- **interop** - _PROPOSED_ - discussion of differences in behavior across implementations
31+
- **samples** - _PROPOSED_ - suggestions for additional or improved samples
32+
33+
34+
## Spec Impact
35+
36+
These broad categories describe the projected impact on the specification and implementation of an issue.
37+
38+
- **editorial** - spec text or styling could be improved, but does not imply changes that functionally affect the interpretation. See [editorial changes](https://www.w3.org/2023/Process-20231103/#editorial-change).
39+
40+
Other issues are generally assumed to require [substantive changes](https://www.w3.org/2023/Process-20231103/#substantive-change).
41+
42+
43+
## Workstream
44+
45+
WebNN has several workstreams specific to the API proposal. These labels help group related issues and measure progress.
46+
47+
- **operation set** - discussions about the overall operator coverage of WebNN; examples include alignment with other published operator sets, use cases that require multiple new operators, compatibility with implementations, etc.
48+
- **webgpu interop** - interop between WebNN and WebGPU, e.g. timelines, buffers, devices.
49+
- **operator specific** - _PROPOSED_ - issues regarding the specification of a single operator or small number of operators
50+
51+
52+
## Next Steps
53+
54+
- **question** - there is outstanding discussion needed on the issue before progress can be made
55+
- **good first issue** - issues that do not require significant context for new contributors
56+
57+
58+
- **needs PR** - _PROPOSED_ - when an issue has enough discussion that the next step is to author a PR for review
59+
- **has PR** - _PROPOSED_ - the issue has a corresponding PR which should be reviewed
60+
61+
- **needs WPT** - _PROPOSED_ - a corresponding Web Platform Test should be filed, either to capture new behavior or cover a gap
62+
- **has WPT** - _PROPOSED_ - test coverage exists (either merged or in review)
63+
64+
65+
## Resolved Issues
66+
67+
These labels can be applied to issues when the issue is closed. This is helpful to capture why the issue was closed if it isn't clear from context.
68+
69+
- **duplicate**
70+
- **invalid**
71+
- **spam**
72+
- **wontfix**
73+
74+
NOTE: GitHub supports two different actions when closing an issue: "Close as completed (Done, closed, fixed, resolved)" and "Close as not planned (Won't fix, can't repo, duplicate, stale)". The UI is subtle, but contributors are encouraged to select an appropriate resolution to assist with future review of issues, in addition to selecting an appropriate label.
75+
76+
77+
## Timeline
78+
79+
- **cr** - issue is a blocker for the next Candidate Recommendation
80+
- **v2**- issue is not considered a blocker for Proposed Recommendation
81+
82+
Implicitly, all issues not tagged **v2** must be resolved before the specification should advance to the next maturity level.
83+
84+
TODO: Consider using milestones instead.
85+
86+
87+
## Horizontal Reviews
88+
89+
These labels will generally be applied to issues by a W3C horizontal review group or to bring an issue to the attention of this group for feedback. These labels are common across W3C spec repos.
90+
91+
- **a11y-needs-resolution** - raised by Accessibility Group
92+
- **a11y-tracker** - bring to attention of Accessibility Group
93+
- **i18n-needs-resolution** - raised by Internationalization Group
94+
- **i18n-tracker** - bring to attention of Internationalization Group
95+
- **privacy-needs-resolution** - raised by Privacy Group
96+
- **privacy-tracker** - bring to attention of Privacy Group
97+
- **security-needs-resolution** - raised by Security Group
98+
- **security-tracker** - bring to attention of Security Group
99+
- **tag-needs-resolution** - raised by Technical Architecture Group
100+
- **tag-tracker** - bring to attention of Technical Architecture Group
101+
102+
103+
## Label Administration
104+
105+
If you think a new label should be introduced, an old label retired, or the usage of a label reconsidered, please file a PR modifying this file including the proposed change.

0 commit comments

Comments
 (0)