# 설계 결정(ADR)

되돌리기 어렵거나 여러 영역에 걸친 결정을 짧게 남긴다.

- 쓸 때: 새 통신 방식 · 저장소 · 인증 · 레이어 예외처럼 기반 패턴을 정하거나 바꿀 때, 서버 · 앱에서 채택된 ADR 과 다르게 해야 할 때(구현 전에).
- 쓰는 법: `template.md` 를 복사해 다음 번호로, 상태 "제안" → 합의하면 "채택". 아래 표에 한 줄을 더한다.
- 바뀐 결정은 지우지 않고 상태를 "대체됨(→ 새 번호)"으로 둔다.

| 번호 | 결정 | 상태 |
|---|---|---|
| [0001](/reference/decisions/0001-code-first-http-contract/) | HTTP API 계약은 서버 코드가 기준, 문서는 서버마다 따로 | 채택 |
| [0002](/reference/decisions/0002-grpc-shared-proto/) | 서버 간 통신은 gRPC, 계약은 공통 proto 하나 | 채택 |
| [0003](/reference/decisions/0003-api-tests-with-fakes/) | 테스트는 실제 서버를 띄운 API 통합 테스트, 외부는 Fake | 채택 |
| [0004](/reference/decisions/0004-default-db-postgres/) | DB 는 Postgres 하나로 정하고, 바꾸는 법은 문서로 둔다 | 채택 |