fix(ai): Renewal Endpoint 오설정 방지와 계약 오류 진단 보완 - #223
Merged
Conversation
Member
Author
|
병합 후 확인 결과입니다.
새 Server가 canonical Endpoint 경로 검증을 통과해 정상 기동한 상태입니다. 이제 배포 화면에서 동일 Renewal 요청을 한 번 다시 실행하면 됩니다. 성공하면 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
한 줄 요약
Renewal 요청의 Endpoint 오설정을 기동 시 차단하고, AI 계약 422가 발생하면 거절 필드를 개인정보 없이 진단할 수 있게 합니다.
Closes #222
재현과 현재 판단
동일한 Renewal 요청을 다음 두 경로에 직접 호출했습니다.
/internal/v1/analyses→ HTTP 422,phase:missing,analysisInput:missing/internal/v1/workflows/renewal/run→ HTTP 200,REVIEW_REQUIRED잘못된 Endpoint 경로가 오류를 재현하는 것은 확인했습니다. Kubernetes
server-env의 실제 값은 저장소에서 조회할 수 없으므로, 배포 원인을 Endpoint 오설정으로 단정하지 않고 병합 후 안전한 진단 로그로 최종 구분합니다.변경 내용
AI_RUNTIME_ENDPOINT는/internal/v1/analyses경로인지 검증AI_RUNTIME_RENEWAL_ENDPOINT는/internal/v1/workflows/renewal/run경로인지 검증RUNTIME_UNAVAILABLE로 분류영향 범위
배포 확인값
검증
./gradlew test --tests "*AiRuntimePropertiesTest" --tests "*RemoteRenewalRuntimeClientWireMockTest"./gradlew test --tests "*RenewalExecutionIntegrationTest" --tests "*RenewalRuntimeContractValidatorTest" --tests "*RenewalExecutionServiceTest" --tests "*RenewalExecutionTelemetryTest"./gradlew clean test병합 전 체크리스트
병합 후 배포 확인
ai_renewal_request_rejected로그로 거절 위치 확인