본 사례는 Ruby on Rails 애플리케이션에서 Sentry를 통해 “Axe Tenant no tenant set” 오류가 발생한 상황을 다룹니다. ### 1. AI 기반 이슈 진단 및 분석
-
Sentry MCP 연동: Claude MCP에 Sentry를 설정하고 인증하여 이슈 정보를 가져올 준비를 합니다.
-
이슈 정보 수집: Sentry의 짧은 코드를 Claude에 제공하면, Claude는 Sentry MCP를 통해 조직 정보와 상세 이슈 컨텍스트(스택 트레이스 등)를 수집합니다.
-
근본 원인 식별: Claude는 GitHub 웹훅이 감사 로그 생성 시 테넌트 미설정으로 실패했음을 분석합니다. 특히
audit_success호출이with_tenant블록(Axe Tenant의 테넌트 스코프) 외부에서 발생하여 오류가 발생했음을 정확히 진단하고 해결책을 제시합니다. ### 2. 테스트 주도 해결 및 검증 -
실패하는 테스트 작성: 개발자의 요청에 따라 Claude는 이슈를 재현하는 실패하는 테스트 코드를 작성합니다. 이 과정에서 기존 테스트의 문제점(전역 테넌트 설정)을 파악하고, 테스트 테넌트를 해제하여 의도적으로 오류를 발생시키는 테스트를 생성합니다.
-
해결 및 검증: Claude는 제안된 수정 사항을 적용한 후 테스트를 실행하여 성공적으로 통과함을 확인합니다. 이후 전체 스펙 파일 실행으로 회귀를 검증하고,
Standard RB린터를 실행하여 코드 스타일을 확인합니다. ### 3. Git 워크플로우 자동화 -
브랜치 및 커밋: Claude는 새로운 Git 브랜치를 생성하고, 변경 사항을 커밋 메시지와 함께 커밋합니다.
-
Pull Request 생성: GitHub CLI를 활용하여 자동으로 Pull Request(PR)를 생성하며, 필요한 모든 컨텍스트를 포함시킵니다. 개발자는 최종적으로 PR을 검토하고 승인합니다.