- session-logs, blogwatcher, summarize, whisper, gitea, himalaya, skill-creator SKILL.md - SKILL.md 인덱스 업데이트 (16개 스킬) - 311/314/315 상위 SSOT 중복 제거 + 링크 수정 - Phase 1-3 결과 + 테스트 결과 + evaluation 트러블슈팅 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1.7 KiB
1.7 KiB
date, subject, status, writer, investigators
| date | subject | status | writer | investigators |
|---|---|---|---|---|
| 2026-03-26 | IR Deck 평가 빈 응답 + 무한 폴링 문제 | open | 24-claude (총괄) | 24-Cursor(백엔드), 24-Codex(API), 23-Cursor(프런트), 24-Gemini(로그) |
IR Deck 평가 빈 응답 + 무한 폴링
현상
- LLM evaluation이 빈 응답 반환 시 DB에 아무 상태도 안 남음
- 프런트가 evaluation_id로 조회 시 영원히 404
- 3분간 2초마다 폴링 (최대 90회 무의미한 호출)
근본 원인
| 위치 | 문제 | 위반 원칙 |
|---|---|---|
ir_deck_analyzer.py _evaluate_comprehensive |
실패 시 ValueError만 올리고 DB에 기록 없음 | coding-principles §3 (실패 의미 보존) |
ir_deck_evaluations 테이블 |
status 컬럼 없음 — 성공 INSERT만 존재 | coding-principles §5 (관측 가능) |
ir_deck.py GET endpoint |
DB에 행 없으면 404 — "실패"와 "미존재" 구분 불가 | coding-principles §3 |
useEvaluation.ts |
404를 "아직 처리 중"으로 해석, 폴링 지속 | coding-principles §4 (폴백 절제) |
수정 계획
백엔드 (24서버, rb8001)
ir_deck_evaluations에status컬럼 추가 (pending/completed/failed)- POST /evaluate 시 즉시
status: pending으로 INSERT - 성공 시
completed, 실패 시failed+ error_message UPDATE - GET endpoint: pending→200+pending, failed→200+failed, completed→기존 응답
프런트 (23서버, frontend-ir-valuation)
- 응답 status 필드 분기: pending→계속, completed→중단+표시, failed→중단+"평가 실패"
- 404 3회 연속 시 폴링 중단
- 3분 타임아웃 유지
에이전트 배분
- 24-Cursor: 백엔드 수정
- 23-Cursor: 프런트 수정