본문으로 건너뛰기

설계 결정 (ADR)

중요한 설계/운영 결정에 대한 맥락, 결정, 대안, 결과를 작성한다.

총 25건

#결정상태작성일
0001외부로 나가는 식별자는 auto-increment 대신 TSID를 쓴다채택됨2026-07-11
0002실시간 STT 공급자를 OpenAI Realtime에서 ElevenLabs로 바꾼다채택됨2026-07-17
0003실시간 전사 전송은 raw WebSocket이 아니라 STOMP로 한다채택됨2026-07-17
0004NAT Gateway를 만들지 않고 EC2를 public subnet에 둔다채택됨2026-07-18
0005ALB 대신 EC2 안의 nginx가 HTTPS 종단을 맡는다채택됨2026-07-18
0006분석 잡 큐는 브로커 없이 DB row로 쓴다채택됨2026-07-22
0007분석 디스패치는 커밋 뒤에 하고 실패해도 예외를 올리지 않는다채택됨2026-07-22
0008analysis_results는 잡 상태 테이블이 아니라 멱등성 캐시다채택됨2026-07-22
0009LLM 관측은 LangSmith가 아니라 Langfuse로 간다채택됨2026-07-22
0010분석 완료 알림은 push 없이 폴링으로 한다채택됨2026-07-22
0011외부 OAuth 장기 토큰은 heymoa-server DB에만 둔다채택됨2026-07-22
0012agent 채팅은 SSE로 보내고 server가 유일한 public edge로 중계한다채택됨2026-07-22
0013전사 검색 벡터는 전용 벡터 DB 없이 pgvector에 둔다채택됨2026-07-23
0014프롬프트 정본을 코드 상수에서 Langfuse로 옮긴다채택됨2026-07-23
0015internal API 인증은 전용 필터 체인으로 기본 차단한다채택됨2026-07-23
0016web의 API 호출은 orval 생성물만 쓴다채택됨2026-07-23
0017관측 신호는 Collector 없이 앱이 OTLP로 직접 push 한다채택됨2026-07-28
0018토픽 발행은 커밋 뒤 best-effort로 하고 전달 보장을 두지 않는다채택됨2026-07-29
0019화자 분리를 pyannote로 직접 돌린다채택됨2026-08-13
0020프로젝트 기억을 Neo4j 그래프 + GraphRAG로 넓힌다대체됨2026-08-13
0021프로젝트 기억의 관계를 PostgreSQL 안에 둔다채택됨2026-08-16
0022브라우저부터 Opus로 보내고 S3에 30초 세그먼트로 쌓는다채택됨2026-08-16
0023오디오 조립을 VPC 밖 Lambda 함수로 둔다채택됨2026-08-16
0024외부 에이전트 연결을 MCP 로 열고, Java SDK 코어의 세션 없는 서블릿 전송으로 붙인다채택됨2026-10-01
0025외부 에이전트 OAuth 인가 서버는 Spring Authorization Server 로 열고, 저장과 위임 판정은 HeyMoa 가 쥔다채택됨2026-10-05