# ADR-0000: Record architecture decisions

## Status

Accepted

## Context

The RDBMS Playground project will accumulate design decisions as it
grows. We want those decisions to be traceable, reviewable, and easy
to challenge later when context has changed.

## Decision

Record significant architecture and product decisions as Architecture
Decision Records (ADRs) in `docs/adr/`, using the Michael Nygard
format (Status, Context, Decision, Consequences). Files are numbered
sequentially with a four-digit prefix and a kebab-case slug, e.g.
`0001-language-and-tui-framework.md`.

Each ADR captures one decision. Superseding a decision means adding a
new ADR that references the old one and marking the old one as
"Superseded by ADR-NNNN".

ADRs document decisions, not speculation. An idea under discussion
belongs in conversation, an issue, or a design note — not an ADR. An
ADR is written once a decision has actually been made.

## Index discipline

`docs/adr/README.md` contains the canonical index of all ADRs.
Whenever an ADR is added, renamed, or has its status changed (e.g.
"Superseded by ADR-NNNN"), the index MUST be updated in the same
change. An ADR change without a corresponding index update is
incomplete.

The index lists ADRs in numerical order. Each entry shows the
number, title, and — where relevant — status annotations such as
"Superseded by ADR-NNNN" or "Deprecated".

## Consequences

- New significant decisions require an ADR before or alongside the
  implementation that depends on them.
- Old decisions remain visible even after they are superseded.
- Reviewers can audit the rationale chain by reading `docs/adr/` in
  order.
- The index in `README.md` stays trustworthy because keeping it
  current is part of every ADR change, not an afterthought.
