429 가 정상, 예외 X
너 429 hit. 너가 뭐 잘못해서가 아니라 rate limit 이 존재하니까. 옳은 반응이 jitter 와 함께 exponential backoff, 패닉 X. 잘못된 반응이 tight retry (악화) 또는 user 에 직접 에러 surface.
모델 가로질러 fallback chain
Pro 가 rate-limit 되면 Flash 는 보통 X. Flash 가 되면 Flash-Lite 는 보통 X. Rate-limit 실패에 비용 ladder 내려가는 chain 빌드.
Provider 가로질러 fallback chain
Cross-provider fallback (Gemini → OpenAI → Claude) 이 다음 layer. 같은 모양: 시도, 실패에 전환, log, surface.
Safety block 은 retry 아님
finishReason: SAFETY 가 모델이 출력 필터링 의미. 같은 prompt retry 하면 같은 결과. Rephrase 하든가, safety threshold 느슨화 (use case 정당화 시만), user 에 graceful 메시지 surface.