Every HEP goes through four stages on its way to acceptance: Working Draft, Candidate HEP, Final Review HEP, and Accepted HEP. Each stage tells readers how settled the HEP is and what they can expect from it. A HEP can also go back to an earlier stage, and it can end its course in one of three end states: Withdrawn, Rejected, or Superseded.
A HEP’s current stage is one of the tags in its front matter, and it is shown
on the Proposals in Progress or the
Accepted Proposals page.
Working Draft¶
Every new HEP starts as a Working Draft. The HEP is still being designed, and anything in it can change, including its scope. A Working Draft makes no promise of stability. Files or software made according to it today may not conform to it tomorrow.
A Working Draft moves on to become a Candidate HEP when it is complete: it covers everything it sets out to do, and it has no known open issues.
Candidate HEP¶
A Candidate HEP is complete and open for wide review and implementation. Reviewers are invited to comment on it, and implementers are invited to try it out. Changes to a Candidate HEP come only from that review and implementation experience. They can still be substantial, and they can make files written earlier no longer conform, so implementations should expect to follow them.
A Candidate HEP moves on to Final Review when all of the following are true:
Every comment from the review has been resolved, either by a change to the HEP or by an answer to the reviewer.
At least one implementation of the HEP exists. The implementation must be able to check content against the HEP’s requirements and reject content that does not conform, rather than only read the content it understands. Many readers are lenient by design, so an implementation can meet this requirement with a strict checking mode, which then serves as the HEP’s validator.
A set of test files exists. It contains conformant files, each with a description of its expected content, and non-conformant files that the implementation rejects. Each test file states which of the HEP’s requirements it exercises.
The implementation and the test files are publicly available, and the HEP links to them.
When review or implementation shows that a large part of a Candidate HEP must be redesigned, the HEP returns to Working Draft.
Final Review HEP¶
A Final Review HEP is the version of the HEP that is considered for acceptance, and the last chance for comments on it. Its text is frozen apart from editorial corrections, such as typographical errors, broken links, and wording that does not change any requirement.
Any change beyond an editorial correction returns the HEP to Candidate, where the change goes through review and implementation like any other.
Accepted HEP¶
An Accepted HEP is final. It changes only to correct errata and to update information about its software implementations. A major change requires a new HEP, which goes through these stages from the start.
End states¶
A HEP can end its course without being accepted, and an Accepted HEP can be replaced. In each case the HEP keeps its page on this site, so its history remains available.
- Withdrawn
- Work on the HEP stopped before acceptance, at any stage. A withdrawn HEP can later be revived as a Working Draft.
- Rejected
- The HEP was not accepted at the end of its Final Review.
- Superseded
- A later HEP replaces this one, usually an Accepted HEP. The page of a superseded HEP names the HEP that replaces it.