diff --git a/journey/troubleshooting/260326_error_auto_issue_creation.md b/journey/troubleshooting/260326_error_auto_issue_creation.md new file mode 100644 index 0000000..e4d31d3 --- /dev/null +++ b/journey/troubleshooting/260326_error_auto_issue_creation.md @@ -0,0 +1,40 @@ +--- +date: 2026-03-26 +subject: 에러 발생 시 Gitea 이슈 자동 생성 +status: closed +closed_date: 2026-03-26 +closed_reason: 구현 + TDD + 실제 동작 확인 완료 +--- + +# 에러 → Gitea 이슈 자동 생성 + +## 목적 +- rb8001 ERROR 로그가 자동으로 Gitea 이슈로 등록 +- 에러가 로그에 묻히지 않고 가시화·추적 가능 +- coding-principles "관측 가능한 시스템" 원칙 적용 + +## 동작 + +- 새 에러 → 이슈 자동 생성 (title에 `[err-해시]` 태그) +- 같은 에러 재발 → 기존 이슈에 코멘트 추가 +- 짧은 시간 내 동일 에러 → 중복 억제 (캐시) +- ERROR 레벨 이상만 대상 + +## 파일 + +- `rb8001/app/utils/error_issue_handler.py` — ErrorIssueHandler + GiteaIssueLoggingHandler (86줄) +- `rb8001/app/core/logger.py` — 핸들러 등록 +- `tests/rb8001/test_error_issue_handler.py` — TDD 7 tests +- `/etc/systemd/system/rb8001.service` — 프로젝트 루트 .env 추가 + +## 설정 (robeing/.env) + +- `ERROR_ISSUE_REPO=ivada_Ro-being/rb8001` +- `ERROR_ISSUE_PROVIDER=gitea` +- `SKILL_GITEA_URL` — skill-gitea 서비스 URL (runtime.env) + +## 검증 + +- 이슈 생성: #6 `[err-048f8ed3] TDD 에러→이슈 테스트` ✓ +- 중복 코멘트: 같은 에러 재발 시 기존 이슈에 코멘트 추가 ✓ +- TDD: 7 tests passed ✓