fix(events): `LlmRetry` 是纵贯全链的死事件——重试/退避/429 在前台与出口全部不可见
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 32/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- rust
- Domaine
- observability
Piste de recherche
Start from the LlmRetry definition at src/event.rs:265-275 and its two consumers: claude_json.rs:269-289 maps the api_retry frame, while the TUI at backend.rs:320 drops it with _ => None. Then read the provider retry loops in openai.rs:158-207 and anthropic.rs:129-155, which only log, plus run_core.rs:286 where the backoff sleep is folded into llm_ms. Done means call_llm emits LlmRetry with attempt/backoff/status and the TUI renders it; runtime visibility is deferred to #124.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
场景 gap 单(okguitar 提报)· 优先级 P1 · 依赖:无 · 验收:代码 diff 逐点核对;运行时可见性另需 Langfuse(#124)
基线 origin/main = fc29f3d4。
Summary
src/event.rs:265-275定义LlmRetry;消费方就位(claude_json.rs:269-289映射 api_retry 帧;TUIbackend.rs:320显式_ => None丢弃并把"丢弃"钉进测试)——但全仓生产代码无任何发射点(grep 仅消费方+测试);重试只发生在 provider 内部并只打日志(openai.rs:158-207、anthropic.rs:129-155),provider 结构体无 sink 字段。- 叠加:
Latency把重试 sleep 吞进llm_ms(run_core.rs:286起表于 call_llm 之前)——一步 40s 无法区分"模型慢"还是"429 退避三次"。
建议
重试循环上提或 provider 暴露 attempt 回调/计数,call_llm 重试时发 LlmRetry(含 attempt/backoff/status);TUI 消费显示;429/5xx 分类计数进 metrics(与 #100 的行为修复互补)。
- Langage dominant
- Rust
- Étoiles
- 4
- Forks
- 0
- Merge moyen
- 5 h 32 min
- PR mergées (30 j)
- 7
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de jeffkit/recursive
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 66/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
jeffkit/recursive#134 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
jeffkit/recursive#131 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de jeffkit/recursive
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 4 jours
-
`future_into_py` loses the original panic messagePeut-être pris @Danipulok l’a pris aujourd’hui. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
PyO3/pyo3-async-runtimes#91 ·
-
Signals (Failure Detector): a tool call and its own execution are reported as a repeated callOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 Moins d'une heure Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 2 jours