23.103. DD XY: Template#

Design status:

Draft

Implementation status:

Not started

DD shepherd:

NAME or TBD

Historical contributors:

NAME(S) or TBD

First published:

YYYY-MM-DD

Last substantive change:

YYYY-MM-DD

Every numbered design document must carry all six fields above. Keep design maturity separate from implementation progress:

  • Design status is one of Draft, Proposed, Accepted, Experimental, Superseded, Rejected, or Abandoned.

  • Implementation status is one of Not started, Prototype, Partial, Implemented, Removed, Unknown, or N/A.

Use DD shepherd: TBD rather than omitting ownership. List people who made historically substantive contributions, not authors of purely mechanical changes. First published is the date the DD first appeared, while Last substantive change excludes formatting-only changes.

Add the following fields when applicable:

  • Implementation evidence using repository names and ISO dates for auditable landing evidence. Do not include commit hashes. State explicitly when cited work is not merged into the reviewed main branch.

  • Superseded by when the design status is Superseded.

  • Normative references for current API specifications or reference manuals. A DD is not itself a normative API specification.

  • Upstream follow-up when a verified correction belongs in generated or externally maintained documentation and must not be made in this repository.

23.103.1. Summary#

23.103.2. Motivation#

23.103.3. Requirements#

23.103.4. Proposed Solution#

23.103.5. Test Plan#

(If this DD concerns a new or changed feature, describe how it can be tested.)

23.103.6. Definition of Done#

(Only applicable to design documents that describe a new feature. While the DoD is not satisfied yet, a user-facing feature must be behind a feature flag or dev-mode flag.)

23.103.7. Alternatives#

23.103.8. Drawbacks#

23.103.9. Discussion / Q&A#

(This should be filled in with results from discussions on mailing lists / personal communication.)