fix: parse_response missing fields 시 raw 보존으로 플레이북 생성 복구 (#245) #246
Reference in New Issue
Block a user
Delete Branch "feature/issue-245-parse-response-preserve-raw"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
문제
pre_market_planner는gemini_client.decide(prompt_override=playbook_prompt)로 Gemini에 플레이북 JSON을 요청한다. Gemini는{"market_outlook": ..., "stocks": [...]}형태로 응답하지만:parse_response(raw)가action/confidence/rationale키를 찾지 못함rationale = "Missing required fields"반환 → 실제 응답 소실_parse_response("Missing required fields", ...)→ JSONDecodeError수정
parse_response에서 필드 누락 시rationale=raw로 변경:decision.rationale에 보존됨_parse_response(decision.rationale, ...)가 플레이북 JSON을 정상 파싱영향 범위
테스트
test_json_with_missing_fields_returns_hold: rationale == raw 검증 추가test_non_trade_decision_json_preserves_raw_in_rationale: 플레이북 JSON 보존 신규 테스트