fix: prompt_override 시 parse_response 건너뛰어 Missing fields 경고 제거 (#247) #248

Merged
jihoson merged 2 commits from feature/issue-247-skip-parse-response-on-prompt-override into main 2026-02-25 01:59:15 +09:00
Collaborator

문제

pre_market_plannerdecide(prompt_override=playbook_prompt)로 Gemini를 호출하면 플레이북 JSON이 정상 반환되지만, parse_responseaction/confidence/rationale 키가 없다고 불필요한 WARNING을 출력했다.

정상 응답인데 경고가 뜨는 것은 잘못된 설계다.

수정

decide()에서 prompt_override가 있을 때 parse_response 호출을 완전히 건너뛰고 raw Gemini 응답을 rationale에 담아 직접 반환한다.

  • prompt_override 사용 시: parse_response 호출 없음 → 경고 없음, raw 보존
  • 일반 거래 결정 시: 기존과 동일하게 parse_response 통과

테스트

  • test_prompt_override_is_sent_to_gemini: 반환값에 raw 플레이북 JSON이 rationale에 있는지 검증
  • test_prompt_override_skips_parse_response: parse_response 미호출 검증 (신규)
## 문제 `pre_market_planner`가 `decide(prompt_override=playbook_prompt)`로 Gemini를 호출하면 플레이북 JSON이 정상 반환되지만, `parse_response`가 `action`/`confidence`/`rationale` 키가 없다고 불필요한 WARNING을 출력했다. 정상 응답인데 경고가 뜨는 것은 잘못된 설계다. ## 수정 `decide()`에서 `prompt_override`가 있을 때 `parse_response` 호출을 완전히 건너뛰고 raw Gemini 응답을 `rationale`에 담아 직접 반환한다. - `prompt_override` 사용 시: `parse_response` 호출 없음 → 경고 없음, raw 보존 - 일반 거래 결정 시: 기존과 동일하게 `parse_response` 통과 ## 테스트 - `test_prompt_override_is_sent_to_gemini`: 반환값에 raw 플레이북 JSON이 rationale에 있는지 검증 - `test_prompt_override_skips_parse_response`: `parse_response` 미호출 검증 (신규)
agentson added 1 commit 2026-02-25 01:46:36 +09:00
pre_market_planner처럼 prompt_override를 사용하는 호출자는 플레이북 JSON 등
TradeDecision이 아닌 raw 텍스트를 기대한다. 기존에는 parse_response를 통과시켜
항상 "Missing fields" 경고가 발생했다.

decide()에서 prompt_override 감지 시 parse_response를 건너뛰고 raw 응답을
rationale에 담아 직접 반환하도록 수정한다.
정상 응답인데 경고가 뜨는 문제가 해결된다.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
agentson added 1 commit 2026-02-25 01:55:00 +09:00
리뷰 지적 사항 반영:
- _total_decisions 카운트 제거 (플레이북 생성은 거래 결정이 아님 → 메트릭 왜곡 방지)
- "Gemini raw response received" INFO 로그 추가 (완료 추적 가능)
- test_prompt_override_takes_priority_over_optimization 신규 추가
  (enable_optimization=True 상태에서도 prompt_override 우선됨을 검증)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
jihoson merged commit 5ae302b083 into main 2026-02-25 01:59:15 +09:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jihoson/The-Ouroboros#248