Skip to content

아키텍처 의사결정 기록 (ADR)

🇺🇸 English Version

Specvital 프로젝트의 아키텍처 의사결정 문서화

ADR이란?

ADR(Architecture Decision Record)은 중요한 아키텍처 결정을 그 배경 및 결과와 함께 기록하는 문서. 멀티-리포지토리 마이크로서비스 환경에서 의사결정 히스토리를 유지하는 데 도움이 됨.

ADR 작성 시점

카테고리예시
기술 스택프레임워크 선택, 라이브러리 도입, 버전 업그레이드
아키텍처서비스 경계, 통신 패턴, 데이터 흐름
API 설계엔드포인트 구조, 버저닝 전략, 에러 처리
데이터베이스스키마 설계, 마이그레이션 전략, 인덱싱 방식
인프라배포 플랫폼, 스케일링 전략, 모니터링
공통 관심사보안, 성능 최적화, 옵저버빌리티

템플릿

템플릿용도
template.md대부분의 의사결정에 사용하는 표준 ADR

명명 규칙

XX-brief-decision-title.md
  • XX: 두 자리 순차 번호 (01, 02, ...)
  • 소문자와 하이픈 사용
  • 간결하고 명확한 제목

기술 영역

영역영향받는 리포지토리
Parsercore
APIweb
Workerworker
Databaseinfra
Infrastructureinfra
Cross-cutting복수

ADR 목록

공통 (전체 리포지토리)

#제목영역날짜
01정적 분석 기반 즉시 분석Cross-cutting2024-12-17
02경쟁 차별화 전략Cross-cutting2024-12-17
03API와 Worker 서비스 분리Architecture2024-12-17
04큐 기반 비동기 처리Architecture2024-12-17
05Polyrepo 리포지토리 전략Architecture2024-12-17
06PaaS 우선 인프라 전략Infrastructure2024-12-17
07공유 인프라 전략Infrastructure2024-12-17
08External Repository ID 기반 데이터 무결성Data Integrity2024-12-22
09GitHub App 통합 인증 전략Authentication2024-12-29
10TestStatus 데이터 계약Data Integrity2024-12-29
11Repository Visibility 기반 접근 제어Security2026-01-03
12Worker 중심 분석 라이프사이클Architecture2024-12-16
13빌링 및 쿼터 아키텍처Billing2026-01-18
14AI 기반 스펙 문서 생성 파이프라인AI/ML2026-01-18
15재분석을 위한 파서 버전 추적Data Integrity2026-01-18
16멀티큐 우선순위 라우팅 아키텍처Architecture2026-01-19
17테스트 파일 스키마 정규화Database2026-01-19
18GitHub API 캐시 테이블Database2025-12-24
19계층적 스펙 문서 스키마Database2026-01-12
20GitHub App 설치 스키마Database2026-01-19
21동시 요청 처리용 할당량 예약Billing2026-02-01
22Scheduler 제거 및 Railway Cron 전환Infrastructure2026-02-02
23Railway IaC 배포Infrastructure2026-02-02

Core 리포지토리

#제목영역날짜
01코어 라이브러리 분리Core2024-12-17
02동적 테스트 카운팅 정책Core2024-12-22
03Tree-sitter AST 파싱 엔진Parser2024-12-23
04Early-Return 프레임워크 탐지Parser2024-12-23
05파서 풀링 비활성화Parser2024-12-23
06통합 Framework DefinitionParser2024-12-23
07Source 추상화 인터페이스Parser2024-12-23
08공유 파서 모듈Parser2024-12-23
09Config 스코프 해석Config2024-12-23
10표준 Go 프로젝트 레이아웃Project2024-12-23
11골든 스냅샷 통합 테스트Testing2024-12-23
12Worker Pool 병렬 스캔Perf2024-12-23
13NaCl SecretBox 암호화Crypto2024-12-23
14간접 Import Alias 감지 미지원Parser2025-12-29
15C# 전처리기 블록 내 Attribute 감지 한계Parser2026-01-04
16도메인 힌트 추출 시스템AI/ML2026-01-18
17Swift Testing 프레임워크 지원Parser2026-01-04
18JUnit 4 프레임워크 분리Parser2025-12-26
19Vitest 4.0+ test.for/it.for API 지원Parser2026-01-03
20Java 21+ 암시적 클래스 감지Parser2026-01-04
21Rust 매크로 기반 테스트 감지Parser2025-12-27

Worker 리포지토리

#제목영역날짜
01스케줄 기반 재분석 아키텍처Architecture2024-12-18
02Clean Architecture 레이어 도입Architecture2024-12-18
03Graceful Shutdown 및 Context 기반 생명주기 관리Architecture2024-12-18
04OAuth 토큰 Graceful DegradationReliability2024-12-18
05Analyzer-Scheduler 프로세스 분리Architecture2024-12-18
06Semaphore 기반 Clone 동시성 제어Concurrency2024-12-18
07Repository 패턴 데이터 접근 추상화Architecture2024-12-18
08SpecView Worker 바이너리 분리Architecture2026-01-13
09Phase 1 V1 품질 개선 아키텍처AI/ML2026-02-04
10사용자별 공정성 미들웨어Concurrency2026-02-02
11보존 기간 기반 데이터 정리 서비스Scheduling2026-02-02
12Phase 2 행동 캐시AI/ML2026-01-24

Web 리포지토리

#제목영역날짜
01백엔드 언어로 Go 선택Tech Stack2024-12-18
02Next.js 16 + React 19 선택Tech Stack2025-12-04
03Chi 라우터 선택Tech Stack2025-01-03
04TanStack Query 선택Tech Stack2025-01-03
05shadcn/ui + Tailwind CSS 선택Tech Stack2025-01-03
06SQLc 선택Tech Stack2025-01-03
07Next.js BFF 아키텍처Architecture2025-01-03
08Clean Architecture 패턴Architecture2025-01-03
09DI Container 패턴Architecture2025-01-03
10StrictServerInterface 계약API2025-01-03
11Feature 기반 모듈 구조Architecture2025-01-03
12APIHandlers 합성 패턴Architecture2025-01-03
13도메인 에러 처리 패턴Architecture2025-01-03
14slog 구조화 로깅Observability2025-01-03
15React 19 use() Hook 패턴Frontend2025-01-03
16nuqs URL 상태 관리Frontend2025-01-03
17next-intl i18n 전략Frontend2025-01-03
18next-themes 다크 모드Frontend2025-01-03
19CSS 변수 디자인 토큰 시스템Frontend2025-01-03
20스켈레톤 로딩 패턴Frontend2025-01-03
21익명 사용자 Rate LimitingSecurity2026-01-15
22React Compiler 도입Frontend2026-01-19
23윈도우 레벨 가상화 패턴Frontend2026-01-19
24구독 기간 일할 계산Billing2026-01-16
25OAuth 리턴 URL 처리Security2026-01-16
26Zustand 클라이언트 상태 관리Frontend2026-01-23
27커밋 기반 분석 조회Frontend2026-02-03
28동적 비용 예측Frontend2026-02-03

프로세스

  1. 생성: template.md 복사 → XX-title.md
  2. 작성: 확정된 의사결정 내용으로 모든 섹션 작성
  3. 현지화: adr/에 영어 버전 생성
  4. 리뷰: 팀 리뷰를 위해 PR 제출
  5. 병합: 승인 후 목록에 추가

관련 리포지토리

Open-source test coverage insights