| 0001 | 외부로 나가는 식별자는 auto-increment 대신 TSID를 쓴다 | 채택됨 | 2026-07-11 |
| 0002 | 실시간 STT 공급자를 OpenAI Realtime에서 ElevenLabs로 바꾼다 | 채택됨 | 2026-07-17 |
| 0003 | 실시간 전사 전송은 raw WebSocket이 아니라 STOMP로 한다 | 채택됨 | 2026-07-17 |
| 0004 | NAT Gateway를 만들지 않고 EC2를 public subnet에 둔다 | 채택됨 | 2026-07-18 |
| 0005 | ALB 대신 EC2 안의 nginx가 HTTPS 종단을 맡는다 | 채택됨 | 2026-07-18 |
| 0006 | 분석 잡 큐는 브로커 없이 DB row로 쓴다 | 채택됨 | 2026-07-22 |
| 0007 | 분석 디스패치는 커밋 뒤에 하고 실패해도 예외를 올리지 않는다 | 채택됨 | 2026-07-22 |
| 0008 | analysis_results는 잡 상태 테이블이 아니라 멱등성 캐시다 | 채택됨 | 2026-07-22 |
| 0009 | LLM 관측은 LangSmith가 아니라 Langfuse로 간다 | 채택됨 | 2026-07-22 |
| 0010 | 분석 완료 알림은 push 없이 폴링으로 한다 | 채택됨 | 2026-07-22 |
| 0011 | 외부 OAuth 장기 토큰은 heymoa-server DB에만 둔다 | 채택됨 | 2026-07-22 |
| 0012 | agent 채팅은 SSE로 보내고 server가 유일한 public edge로 중계한다 | 채택됨 | 2026-07-22 |
| 0013 | 전사 검색 벡터는 전용 벡터 DB 없이 pgvector에 둔다 | 채택됨 | 2026-07-23 |
| 0014 | 프롬프트 정본을 코드 상수에서 Langfuse로 옮긴다 | 채택됨 | 2026-07-23 |
| 0015 | internal API 인증은 전용 필터 체인으로 기본 차단한다 | 채택됨 | 2026-07-23 |
| 0016 | web의 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 |