INTERNAL_SECRET 누락으로 AI 요약이 조용히 실패하던 버그를 고치면서 발견한 더 근본적인 문제: 지금 시스템엔 이런 실패를 "누군가 알아채는" 수단이 없다.
blog.service.ts의 fail-open 설계(에러를 삼키고 this.logger.warn(...)만 남김)는 "AI 서버 장애가 글 저장 자체를 막으면 안 된다"는 점에서 맞는 설계다. 하지만:
logger.warn은 서버 콘솔(stdout)에만 남음fail-open 동작(저장은 안 막힘) 자체는 유지하되, catch 블록에서 Sentry로 에러를 리포트하도록 추가하면:
우려: "Sentry는 FE/BE/AI 각각 앱(프로젝트)을 따로 추가해야 하는데, 무료 플랜으로는 안 되는 거 아닌가?"
확인 결과 (2026-09 기준 웹 검색): 틀린 우려였음. Sentry 무료(Developer) 플랜은 프로젝트 개수 제한이 없음. 실제 제한은:
→ 즉 inote(FE), inote-server(BE), inote-ai 3개를 각각 별도 프로젝트로 만들어도 무료 플랜 안에서 가능. 개인 프로젝트 규모의 트래픽이면 월 5,000 이벤트 제한에도 여유 있음.