Skip to content

#608 [Feat] AI 주제 제안 실패 사유 응답 추가 - #609

Merged
si-zero merged 1 commit into
devfrom
feat/#608
Nov 7, 2026
Merged

si-zero merged 1 commit into
devfrom
feat/#608

Conversation

@si-zero

@si-zero si-zero commented Nov 7, 2026

Copy link
Copy Markdown
Member

#️⃣ 연관된 이슈

📝 작업 내용

AI 주제 제안이 실패하면 지금까지는 suggestStatus=FAILED 만 내려가 프론트가 이유를 알 수 없었습니다.
dev 에서 OpenAI 크레딧 소진(insufficient_quota)으로 제안이 바로 FAILED 가 된 일이 있어, 초안 응답에 실패 사유를 추가합니다.

✨ Feat

내용 파일
실패 사유 enum 추가 (AI_UNAVAILABLE, INVALID_OUTPUT) ClassTopicSuggestFailureReason.java
초안에 suggest_failure_reason 저장. 새 제안을 시작하면 비운다 ClassTopicDraft.java, ClassTopicDraftService.java
초안 응답에 failureReason 추가 (FAILED 가 아니면 null) ClassTopicDraftResponse.java, ClassTopicConverter.java
API 명세·ERD 갱신 docs/api-specs/class-api.md, docs/erd/class.puml
통합 테스트에 실패 사유 검증 추가 ClassTopicApiIntegrationTest.java
failureReason 의미 화면 처리 (제안)
AI_UNAVAILABLE AI 서비스 장애 (연결 오류·시간 초과·5xx·크레딧 소진 등) "잠시 후 다시 시도해 주세요"
INVALID_OUTPUT AI 응답이 1회 보정 후에도 후보 규칙을 지키지 못함 다시 시도하거나 조건 변경 안내

📌 공유 사항

  1. class_topic_drafts.suggest_failure_reason (VARCHAR(30), nullable) 컬럼이 추가됩니다. ddl-auto: update 로 생성되고 기존 행은 null 입니다.
  2. 크레딧 소진은 사용자에게 보일 이유가 아니라서 AI_UNAVAILABLE 로 묶었습니다. 상세 원인은 기존처럼 ai_jobs.error_code 와 서버 로그에 남습니다.
  3. 응답 필드 추가만 있어 기존 프론트 동작은 바뀌지 않습니다.

✅ 체크리스트

  • Reviewer에 팀원들을 선택했나요?
  • Assignees에 본인을 선택했나요?
  • 컨벤션에 맞는 Type을 선택했나요?
  • Development에 이슈를 연동했나요?
  • Merge 하려는 브랜치가 올바르게 설정되어 있나요?
  • 컨벤션을 지키고 있나요?
  • 로컬에서 실행했을 때 에러가 발생하지 않나요?
  • 팀원들에게 PR 링크 공유를 했나요?

📸 스크린샷

  • ClassTopic* 테스트 15개 통과
  • 전체 625개 중 실패 5개는 기존 펀딩 테스트(AdminFundingApiIntegrationTest 2, TumblbugFundingApiIntegrationTest 3)로 이번 변경과 무관합니다.

💬 리뷰 요구사항

  1. 실패 사유를 두 가지로만 나눴는데, 화면에서 더 나눠 안내할 경우가 있으면 의견 부탁드립니다.

@si-zero si-zero added the ✨ Feat (기능 추가) 새로운 기능을 추가할 때 사용합니다. label Nov 7, 2026
@si-zero si-zero self-assigned this Nov 7, 2026
@si-zero
si-zero merged commit e7f5677 into dev Nov 7, 2026
1 check failed
@si-zero
si-zero deleted the feat/#608 branch November 7, 2026 12:41
@si-zero si-zero linked an issue Nov 7, 2026 that may be closed by this pull request
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feat (기능 추가) 새로운 기능을 추가할 때 사용합니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

✨ Feat: AI 주제 제안 실패 사유 응답 추가

1 participant