diff --git a/journey/plans/260206_ir_deck_followup_context_and_jwt_routing.md b/journey/plans/260206_ir_deck_followup_context_and_jwt_routing.md new file mode 100644 index 0000000..c91f195 --- /dev/null +++ b/journey/plans/260206_ir_deck_followup_context_and_jwt_routing.md @@ -0,0 +1,53 @@ +# IR Deck 추가 질문 컨텍스트 고정 + JWT 경로 정합화 + +**날짜**: 2026-02-06 +**작성자**: happybell80 +**관련 서비스**: frontend-ir-valuation, robeing-gateway(51123), rb8001 + +--- + +## 1. 목표 +- IR Deck 평가 화면에서 추가 질문은 재평가 없이 즉시 Q&A로 응답 +- 분석 결과가 있는 상태에서 회사/문서 컨텍스트를 고정 주입 +- 게이트웨이 JWT 정책과 프론트 Authorization 헤더를 정합화 + +## 2. 범위 +- 포함: IR Deck 화면 Q&A 라우팅, 컨텍스트 고정 전달, JWT 헤더 전달 경로 확인 +- 제외: 51123 서버 직접 배포, auth-server 토큰 발급 로직 변경 + +## 3. 현상 요약 +- 평가 결과 로드 후 추가 질문이 재평가로 처리되어 지연 발생 +- IR Deck Q&A는 문서 기반이라 컨텍스트 누락 시 "어떤 회사" 질문이 발생 +- 로빙 일반 대화(`/api/message`)는 Authorization 미전달 시 401 처리로 정의 + +## 4. 아키텍처 기준 +- IR Deck Q&A는 `/rb8001/api/ir-deck/chat` 경로 유지 +- 로빙 일반 대화는 `/rb8001/api/message` 경로 유지 +- 분석 페이지는 `evaluation_id → document_id` 매핑을 고정 상태로 유지 + +## 5. 작업 단계 +### Phase 1: 프론트 컨텍스트 고정 +- `frontend-ir-valuation/src/pages/ir-valuation.tsx`: 평가 로드 시 `document_id`, `company_name` 상태 고정 +- `frontend-ir-valuation/src/services/irDeckService.ts`: `sendChat` 요청에 고정 컨텍스트 포함 +- `frontend-ir-valuation/index.html`: 캐시 무효화를 위한 버전 쿼리 업데이트 + +### Phase 2: 게이트웨이 JWT 정합화 확인 +- `DOCS/journey/troubleshooting/250827_JWT_인증_구현_COMPLETED.md` 기준으로 현재 정책 확인 +- `robeing-gateway/app/main.py`: Authorization 전달 여부 확인 및 누락 시 전달 처리 +- `frontend-ir-valuation`: Authorization 헤더 전송 필요 여부 결정 + +### Phase 3: rb8001 라우팅 정리 +- `/api/ir-deck/chat`는 문서 기반 Q&A 전용 유지 +- `/api/message`는 로빙 일반 대화 전용 유지 +- 평가 페이지에서 로빙 일반 대화 사용 여부 결정 후 라우팅 규칙 문서화 + +## 6. 테스트 +- IR Deck 페이지 진입: `https://ro-being.com/ir-valuation/?evaluation_id=...` +- 추가 질문 입력: 재평가 없이 즉시 답변 반환 확인 +- Q&A 정확성: 문서에 있는 질문은 답변, 없는 질문은 명확한 안내 문구 반환 +- Gateway 경로: Authorization 유무에 따른 200/401 결과 확인 + +## 7. 남은 작업 +- 51123 서버 게이트웨이 정책 확인 및 토큰 전달 여부 확정 +- 프론트 Authorization 헤더 전송 방식 확정 +- 문서 기반 Q&A의 보강 질문 UX 문구 확정