Skip to content

Commit 9167e1e

Browse files
refactor the proposal stages table for better communication (#38)
1 parent 87ca012 commit 9167e1e

File tree

1 file changed

+58
-59
lines changed

1 file changed

+58
-59
lines changed

index.html

+58-59
Original file line numberDiff line numberDiff line change
@@ -36,118 +36,117 @@ <h2>Stages</h2>
3636

3737
<table>
3838
<caption>ECMAScript Proposal Stages</caption>
39+
3940
<thead>
4041
<tr>
4142
<th>Stage
42-
<th>Purpose
43+
<th>Status
4344
<th>Entrance Criteria
44-
<th>Acceptance Signifies
45-
<th>Spec Quality At Entrance
46-
<th>Post-Acceptance Changes Expected
47-
<th>Implementation Types Expected*
45+
<th style="cursor: help" title="These are the actions that will be undertaken by the committee and the proposal authors while the proposal is in this stage.">Purpose
4846
</tr>
4947
</thead>
48+
5049
<tr>
5150
<td>0
52-
<td>Allow input into the specification
53-
<td>None
54-
<td>N/A
55-
<td>N/A
56-
<td>N/A
57-
<td>N/A
58-
</tr>
59-
<tr>
60-
<td>1
51+
<td>This is a new proposal. It is not currently being considered by the committee.
52+
<td>None. New proposals are assigned this stage by their authors outside of the usual advancement process.
6153
<td>
54+
Ideation and exploration. Define a problem space in which the committee and the champions can focus their efforts.
6255
<ul>
63-
<li>Make the case for the addition
64-
<li>Describe the shape of a solution
56+
<li>Make the case for an improvement
57+
<li>Describe the shape of some possible solutions
6558
<li>Identify potential challenges
59+
<li>Research how the problem is dealt with using available facilities today
60+
<li>Research how the problem has been solved by other languages or in the library ecosystem
6661
</ul>
67-
</td>
62+
</tr>
63+
64+
<tr>
65+
<td>1
66+
<td>This proposal is under consideration. The committee expects to devote time to examining the identified problem space, the full breadth of possible solutions, and cross-cutting concerns.
6867
<td>
6968
<ul>
70-
<li>Identified champion who will advance the addition
69+
<li>Identified a champion or champion group who will advance the addition
7170
<li>Prose outlining the problem or need and the general shape of a solution
72-
<li>Illustrative examples of usage
73-
<li>High-level API
7471
<li>Discussion of key algorithms, abstractions and semantics
75-
<li>Identification of potential cross-cutting concerns and implementation challenges/complexity
72+
<li>Identification of potential cross-cutting concerns and implementation challenges/complexity
7673
<li>A publicly available repository for the proposal that captures the above requirements
7774
</ul>
7875
</td>
79-
<td>The committee expects to devote time to examining the problem space, solutions and cross-cutting concerns
76+
<td>
77+
Designing a solution.
78+
<ul>
79+
<li>Make the case for a particular solution or solution space
80+
<li>Resolve any cross-cutting concerns
81+
</ul>
8082
</td>
81-
<td>None
82-
<td>Major
83-
<td>Polyfills / demos
8483
</tr>
84+
8585
<tr>
8686
<td>2
87-
<td>Precisely describe the syntax and semantics using formal spec language
87+
<td>The committee has chosen a preferred solution or solution space, but the design is a draft and may still change significantly. The committee expects the feature to be developed and eventually included in the standard, but due to reasons that may not be apparent at this stage, the feature may never be included in the standard.
8888
<td>
8989
<ul>
90-
<li>Above
91-
<li>Initial spec text
90+
<li>Proposal document describes all high-level APIs and syntax
91+
<li>Illustrative examples of usage
92+
<li>Initial spec text including all major semantics, syntax, and APIs. Placeholders, TODOs, and editorial issues are acceptable
93+
</ul>
94+
</td>
95+
<td>
96+
Refining the solution.
97+
<ul>
98+
<li>Work out minor details such as ordering of observable effects, handling of invalid inputs, API names, etc.
99+
<li>Receive and address spec text reviews from the assigned reviewers and the appropriate editor group
100+
<li>Produce experimental implementations such as loosely-correct (not for production use) polyfills to aid in validating the design and exploring the details
101+
<li>Investigate integration with relevant host APIs, if necessary
92102
</ul>
93103
</td>
94-
<td>The committee expects the feature to be developed and eventually included in the standard
95-
<td>Draft: all <em>major</em> semantics, syntax and API are covered, but TODOs, placeholders and editorial issues are expected
96-
<td>Incremental
97-
<td>Experimental
98104
</tr>
105+
99106
<tr>
100107
<td>2.7
101-
<td>Gain initial experience with the feature through testing and prototyping
108+
<td>The proposal is approved in principle and undergoing validation. The solution is complete and no further work is possible without feedback from tests, implementations, or usage. No changes to the proposal will be requested by the committee aside from those elicited through testing, implementation, or usage experience.
102109
<td>
103110
<ul>
104-
<li>Above
105-
<li>Complete spec text
106-
<li>Designated reviewers have signed off on the current spec text
107-
<li>ECMAScript editors have signed off on the current spec text
111+
<li>Complete spec text: all semantics, syntax, and APIs are completely described
112+
<li>Assigned reviewers have signed off on the current spec text
113+
<li>Relevant editor group has signed off on the current spec text
114+
</ul>
115+
<td>
116+
Testing and validation.
117+
<ul>
118+
<li>Validate the design of the feature through the development of a rigorous and comprehensive test suite
119+
<li>Develop spec-compliant prototypes to validate implementability, as necessary, or aid in test development
108120
</ul>
109121
</td>
110-
<td>The solution is complete and no further work is possible without feedback from tests, implementations, or usage. No changes to the proposal will be requested aside from those elicited through testing or implementation experience.
111-
<td>Complete: all semantics, syntax and API are completely described
112-
<td>Limited: only those resulting from new information obtained through testing or usage experience
113-
<td>Spec compliant prototypes
114122
</tr>
123+
115124
<tr>
116125
<td>3
117-
<td>Indicate that further refinement will require feedback from implementations or users
126+
<td>The proposal has been recommended for implementation. No changes to the proposal are expected, but some necessary changes may still occur due to web incompatibilities or feedback from production-grade implementations.
118127
<td>
119128
<ul>
120-
<li>Above
121129
<li>The feature has sufficient testing and appropriate pre-implementation experience
122130
</ul>
123131
</td>
124-
<td>The solution is complete and no further work is possible without implementation experience, significant usage and external feedback.
125-
<td>Complete: all semantics, syntax and API are completely described
126-
<td>Limited: only those deemed critical based on implementation experience
127-
<td>Spec compliant production
132+
<td>Gaining implementation experience and discovering any web compatibility or integration issues.
128133
</tr>
134+
129135
<tr>
130136
<td>4
131-
<td>Indicate that the addition is ready for inclusion in the formal ECMAScript standard
137+
<td>The proposed feature is complete and ready to be included in the standard. No further changes will be made to the proposal.
132138
<td>
133139
<ul>
134-
<li>Above
135-
<li><a href="https://github.com/tc39/test262">Test262</a> acceptance tests have been written for mainline usage scenarios, and merged
136-
<li>Two compatible implementations which pass the acceptance tests
140+
<li>Two compatible implementations which pass the test262 acceptance tests
137141
<li>Significant in-the-field experience with shipping implementations, such as that provided by two independent VMs
138-
<li>A pull request has been sent to <a href="https://github.com/tc39/ecma262">tc39/ecma262</a> with the integrated spec text
139-
<li>All ECMAScript editors have signed off on the pull request
142+
<li>A pull request has been sent to <a href="https://github.com/tc39/ecma262">tc39/ecma262</a> or <a href="https://github.com/tc39/ecma402">tc39/ecma402</a>, as appropriate, with the integrated spec text
143+
<li>The relevant editor group has signed off on the pull request
140144
</ul>
141145
</td>
142-
<td>The addition will be included in the soonest practical standard revision
143-
<td>Final: All changes as a result of implementation experience are integrated
144-
<td>None
145-
<td>Shipping
146+
<td>Integration into the draft specification and eventual inclusion in a yearly standard publication.
146147
</tr>
147148
</table>
148149

149-
<p>* This column does not indicate a requirement for advancement, but simply a general expectation.
150-
151150
<h2>Input into the process</h2>
152151

153152
<p>Ideas for evolving the ECMAScript language are accepted in any form. Any discussion, idea, or proposal for a change or addition which has not been submitted as a formal proposal is considered to be a “strawperson” (stage 0) and has no acceptance requirements. Such submissions must either come from TC39 delegates or from non-delegates who have <a href="https://tc39.github.io/agreements/contributor">registered</a> via Ecma International.

0 commit comments

Comments
 (0)