Skip to content

Renewal 확장 응답 계약 수용 - #202

Merged
hywznn merged 3 commits into
mainfrom
fix/10-renewal-response-contract
Aug 18, 2026
Merged

Renewal 확장 응답 계약 수용#202
hywznn merged 3 commits into
mainfrom
fix/10-renewal-response-contract

Conversation

@hywznn

@hywznn hywznn commented Aug 17, 2026

Copy link
Copy Markdown
Member

왜 필요한가요?

AI Renewal 응답에 variant, nextAction, legalConclusion, questions, suggestedWorkflowIds가 추가됐지만 Server의 strict JSON 계약에는 해당 필드가 없었습니다. AI는 HTTP 200을 반환해도 Server 역직렬화가 실패하여 사용자에게 503 RENEWAL_RUNTIME_UNAVAILABLE이 노출됐습니다.

무엇이 바뀌나요?

  • AI가 반환하는 Renewal 확장 필드를 Server 응답 계약에 명시적으로 추가합니다.
  • nullable 목록을 빈 불변 목록으로 정규화합니다.
  • 기존 Server 내부 Adapter와 테스트가 사용하는 생성 계약은 호환 생성자로 유지합니다.
  • WireMock 계약 테스트가 확장 필드를 실제로 역직렬화하는지 검증합니다.

사용자·개발 영향

  • AI의 정상 Renewal 응답이 더 이상 503으로 오인되지 않습니다.
  • Agent가 예외 Workflow에 사용하는 다음 행동·질문·추천 Workflow 필드를 안전하게 수용할 수 있습니다.
  • DB·Flyway·Client·Infra 변경은 없습니다.

검증

  • ./gradlew clean test 전체 통과 (BUILD SUCCESSFUL)
  • 실제 Server → AI 호출에서 HTTP 200 확인
  • 응답이 REVIEW_REQUIRED, guideReviewRequired=true로 정상 매핑되는 것 확인

Refs #10

@hywznn
hywznn marked this pull request as ready for review August 18, 2026 03:49
@hywznn
hywznn merged commit 6d3067a into main Aug 18, 2026
4 checks passed
@hywznn
hywznn deleted the fix/10-renewal-response-contract branch August 18, 2026 03:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant