High-level overview; put details in the next section and background in the ‘Background’ section (see dev-design-doc-use-cases-template.txt).
Should be understandable by engineers that are not working on Gerrit.
If a solution is a variant of another solution, that other solution should be linked here.
How does the overall design work? Details about the algorithms, storage format, APIs, etc., should be included here.
For the initial review, it is ok for this to lack implementation details of minor importance.
How does the solution scale?
If applicable, consider:
Within the scope of this solution you may need to describe what you did not do or why simpler approaches don't work. Mention other things to watch out for (if any).
Do not describe alternative solutions in this section, as each solution should be described in a separate file.
Objectively list all points that speak in favor/against this solution.
If known, say who would be willing to drive the implementation.
It is possible to contribute solutions without having resources to do the implementation. In this case, say so here.
If mentor support is desired, say so here. Also briefly describe any circumstances that can help with finding a suitable mentor.
A rough itemized estimation of how much time it takes to implement this feature. Break down the feature into work items and estimate each item separately.
If a mentor is assigned, this section must define a maximum time frame after which the mentorship automatically ends even if the feature isn't fully done yet.