Skip to content

[Refactor] evaluation runtime 경계 분리 (#270) - #275

Merged
shinae1023 merged 4 commits into
devfrom
refactor/#270-evaluation-runtime-decouple
Aug 12, 2026
Merged

[Refactor] evaluation runtime 경계 분리 (#270)#275
shinae1023 merged 4 commits into
devfrom
refactor/#270-evaluation-runtime-decouple

Conversation

@shinae1023

@shinae1023 shinae1023 commented Aug 12, 2026

Copy link
Copy Markdown
Member

✨ 어떤 이유로 PR를 하셨나요?

  • feature 병합
  • 버그 수정(아래에 issue #를 남겨주세요)
  • 코드 개선
  • 코드 수정
  • 배포
  • 기타(아래에 자세한 내용 기입해주세요)

📋 세부 내용 - 왜 해당 PR이 필요한지 작업 내용을 자세하게 설명해주세요

evaluation 코드가 runtime analysis 구현을 직접 아는 범위를 단계적으로 줄이기 위해 경계를 한 번 더 정리했습니다.

  • evaluation 전용 snapshot/model 계층을 기준으로 NLG 평가 흐름을 정리했습니다.
  • runtime sanitization 규칙 호출을 EvaluationSanitizationService 뒤로 감싸서 evaluation 서비스들이 runtime sanitization 클래스를 직접 import하지 않도록 바꿨습니다.
  • EvaluationAnalysisBatchService 앞에 EvaluationAnalysisGenerator port를 두고, 기존 AnalysisAiClient 호출은 adapter로 이동했습니다.
  • 배치 서비스는 이제 evaluation 내부 command/result 모델만 다루고, 관련 테스트도 같은 경계를 기준으로 갱신했습니다.

이 변경으로 evaluation 리팩터링을 작은 커밋 단위로 이어갈 수 있는 기반을 만들었고, 이후 runtime analysis 쪽 변경이 evaluation 배치 서비스로 바로 전파되는 결합도 한 단계 낮췄습니다.

📸 작업 화면 스크린샷

  • 없음

⚠️ PR하기 전에 확인해주세요

  • 로컬테스트를 진행하셨나요?
  • 머지할 브랜치를 확인하셨나요?
  • 관련 label을 선택하셨나요?

🚨 관련 이슈 번호 [ #270 ]

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@shinae1023, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 10 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 1ae8f9af-c07e-40d8-a683-59cfef3471a4

📥 Commits

Reviewing files that changed from the base of the PR and between ea92fdd and c4bfddb.

📒 Files selected for processing (17)
  • src/main/java/com/jobdri/jobdri_api/domain/evaluation/analysis/NlgEvaluationBatchService.java
  • src/main/java/com/jobdri/jobdri_api/domain/evaluation/analysis/mapper/EvaluationCandidateSnapshotMapper.java
  • src/main/java/com/jobdri/jobdri_api/domain/evaluation/analysis/mapper/EvaluationLlmSnapshotMapper.java
  • src/main/java/com/jobdri/jobdri_api/domain/evaluation/analysis/mapper/EvaluationLlmSnapshotParser.java
  • src/main/java/com/jobdri/jobdri_api/domain/evaluation/analysis/mapper/EvaluationMissingKeywordMapper.java
  • src/main/java/com/jobdri/jobdri_api/domain/evaluation/analysis/mapper/EvaluationMissingKeywordSourceMapper.java
  • src/main/java/com/jobdri/jobdri_api/domain/evaluation/analysis/mapper/EvaluationQuestionAnalysisMapper.java
  • src/main/java/com/jobdri/jobdri_api/domain/evaluation/analysis/model/EvaluationCandidateSnapshot.java
  • src/main/java/com/jobdri/jobdri_api/domain/evaluation/analysis/model/EvaluationLlmSnapshot.java
  • src/main/java/com/jobdri/jobdri_api/domain/evaluation/analysis/model/EvaluationMissingKeyword.java
  • src/main/java/com/jobdri/jobdri_api/domain/evaluation/analysis/model/EvaluationMissingKeywordCandidate.java
  • src/main/java/com/jobdri/jobdri_api/domain/evaluation/analysis/model/EvaluationMissingKeywordSource.java
  • src/main/java/com/jobdri/jobdri_api/domain/evaluation/analysis/model/EvaluationQuestionAnalysis.java
  • src/test/java/com/jobdri/jobdri_api/domain/analysis/service/ai/AnalysisAiClientTest.java
  • src/test/java/com/jobdri/jobdri_api/domain/evaluation/analysis/mapper/EvaluationCandidateSnapshotMapperTest.java
  • src/test/java/com/jobdri/jobdri_api/domain/evaluation/analysis/mapper/EvaluationLlmSnapshotMapperTest.java
  • src/test/java/com/jobdri/jobdri_api/domain/evaluation/analysis/mapper/EvaluationLlmSnapshotParserTest.java

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@shinae1023
shinae1023 merged commit 11f64a7 into dev Aug 12, 2026
3 checks passed
@shinae1023 shinae1023 changed the title [Refactor] evaluation snapshot 기반 runtime 의존 분리 (#270) [Refactor] evaluation runtime 경계 분리 (#270) Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant