Skip to content

fix(data-science): make _safe_pyplot_savefig CJK/race-tolerant (S-E)#11

Merged
DONGRYEOLLEE1 merged 1 commit into
mainfrom
fix/matplotlib-savefig-robust-retry
May 21, 2026
Merged

fix(data-science): make _safe_pyplot_savefig CJK/race-tolerant (S-E)#11
DONGRYEOLLEE1 merged 1 commit into
mainfrom
fix/matplotlib-savefig-robust-retry

Conversation

@DONGRYEOLLEE1
Copy link
Copy Markdown
Owner

Summary

S-E 한국어 라벨 시나리오에서 `plt.savefig` 호출 후 파일이 silently 안 만들어지던 follow-up 회귀 fix.

Root Cause

backend container 직접 simulate에서는 정상 작동 → multi-turn dong 계정의 누적 matplotlib state가 CJK 라벨 + tight_layout 조합에서 zero-byte 또는 silent no-op 만듦.

Fix

  • `bbox_inches='tight'` 자동 주입 (CJK 라벨 canvas 외 잘림 방지)
  • savefig 후 파일 부재 확인 → `canvas.draw()` 후 1회 retry

Verification

  • pytest 316/316 PASS
  • E2E S-E (dong, playwright): `korean_sales_by_region.png` 정상 생성 + 다운로드 링크 노출. 5/5 시나리오 PASS 도달.

🤖 Generated with Claude Code

S-E 한국어 라벨 시나리오에서 plt.savefig(artifact_path("..."))가 cwd가
정확히 artifact_dir인데도 silently 파일을 만들지 않던 회귀 해결.

Fix:
- bbox_inches='tight' 자동 주입 — CJK 라벨이 canvas 밖으로 잘리거나
  stale figure가 invalid metric을 가질 때 발생하는 zero-byte 출력 차단
- savefig 호출 후 파일이 만들어지지 않았으면 canvas.draw() 강제 후
  1회 재호출 — figure manager state leak으로 인한 silent no-op 복구

E2E (dong, playwright) — S-E korean_sales.csv 한국어 라벨:
- 이전: stdout saved + exists False, generated_files []
- 이후: korean_sales_by_region.png 정상 등록 + 다운로드

pytest 316/316 PASS, 회귀 0.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 21, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
orchagent Ready Ready Preview, Comment May 21, 2026 12:21pm
project-vdajw Ready Ready Preview, Comment May 21, 2026 12:21pm

@DONGRYEOLLEE1 DONGRYEOLLEE1 merged commit c22d873 into main May 21, 2026
5 checks passed
@DONGRYEOLLEE1 DONGRYEOLLEE1 deleted the fix/matplotlib-savefig-robust-retry branch May 21, 2026 12:22
DONGRYEOLLEE1 added a commit that referenced this pull request May 22, 2026
…ine)

test(routing-eval): add 6 data_science cases (PR #10/#11 regression line)
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