fix(events): `LlmRetry` 是纵贯全链的死事件——重试/退避/429 在前台与出口全部不可见
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 32/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- rust
- Área
- observability
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
场景 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 的行为修复互补)。
- Lenguaje dominante
- Rust
- Estrellas
- 4
- Forks
- 0
- Merge medio
- 5 h 32 min
- PR fusionados (30 d)
- 7
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de jeffkit/recursive
-
fix(pipeline): preflight kill-stale 在 v2 console/worker 路径把并发兄弟 run 当孤儿杀——同仓并发 run 互杀成链(今日 4 例实证)Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
jeffkit/recursive#148 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
jeffkit/recursive#147 · 14 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
jeffkit/recursive#134 · 6 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de jeffkit/recursive
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
pact-foundation/pact-cli#154 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
antithesishq/bombadil#361 ·
Los mantenedores suelen responder en 1 día
-
test(executor_l0): assert execute() TaskOutcome, not only bus events / 断言 execute() 返回的 TaskOutcomeAbiertotype:debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
skaiy/wild_agentos#425 ·
Los mantenedores suelen responder en 1 día
-
Default-import note suggests `import * as process` for velt:process, which does not name the builtinAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
bug ticket
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cratestack/cratestack#1154 ·
Los mantenedores suelen responder en 1 día