From 8998cbea8c49e450c63a5f2253ab0efb69fba969 Mon Sep 17 00:00:00 2001 From: hyungi Date: Sun, 17 May 2026 06:22:27 +0000 Subject: [PATCH] =?UTF-8?q?ops(triage):=20PR-4B-Diagnose=20=E2=80=94=20exc?= =?UTF-8?q?eption=20logging=20=EA=B0=95=ED=99=94=20(type/repr/exc=5Finfo)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Layer 1 root cause 진단을 위해 classify_worker.py:595 의 exception logging 을 lazy formatting + exc_info=True 로 강화. f-string 1줄 → 5줄 block. - type=%s: exception class name (TimeoutError/JSONDecodeError/ValueError/etc.) - repr=%r: full exception state - exc_info=True: traceback 까지 capture (wrapper 정확 지점 추적) 본 PR scope = Diagnose only. Layer 1 specific fix (H1/H2/H3/H4) + Layer 2 escalate path ai_event_kind fallback set 은 별 PR queue. plan: ~/.claude/plans/c-1-pr-infra-drift-1-phase-1b-linear-frost.md backup: app/workers/classify_worker.py.pre-4b-diagnose.20260517 --- app/workers/classify_worker.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/workers/classify_worker.py b/app/workers/classify_worker.py index d6b9f5e..dc7f622 100644 --- a/app/workers/classify_worker.py +++ b/app/workers/classify_worker.py @@ -592,7 +592,13 @@ async def _run_tier_triage(client: AIClient, doc: Document, session: AsyncSessio try: raw_triage = await client.call_triage(prompt) except Exception as exc: - logger.warning(f"[triage] 4B 호출 실패 id={document_id}: {exc}") + logger.warning( + "[triage] 4B 호출 실패 id=%s type=%s repr=%r", + document_id, + type(exc).__name__, + exc, + exc_info=True, + ) parse_error = "call_failed" raw_triage = ""