Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

fix(events): 全链缺时间/关联元数据——事件、SSE 帧、span、日志拼不回同一条时间线

Cerrado
#117 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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
Refactorización
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
rust

Línea de trabajo

Start with the AgentEvent enum at src/event.rs:28-275 to see every variant that would need ts_ms/seq/session_id/turn, then read the SSE framing at src/handlers.rs:1329-1352, where no id: is set despite the step-concatenation advice. Cross-check the per-turn step counter at src/run_core.rs:1331 and the dead Span::current().record at src/runtime.rs:266-272 alongside the agent.turn log at runtime.rs:332-336. Done means events carry a monotonic seq and wall clock, SSE frames emit id:, and the host builds a per-turn span with field::Empty declarations so spans and logs join on session_id. Runtime verification needs Langfuse (#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。(与 #97 互补:即便补 Last-Event-ID,id 也不含墙钟与回合语义。)

Summary

  • AgentEvent 全枚举(src/event.rs:28-275)无 timestamp/seq/turn/session_id;step 每 turn 从 1 重数(run_core.rs:1331),而 SSE 注释教客户端"concatenate deltas keyed on step"(handlers.rs:1350-1352)——goal-loop 多 turn 时 step 撞号。
  • SSE 帧 Event::default().event(t).data(d) 无 id:(handlers.rs:1329-1332)。
  • Span::current().record("session_id", ...)(src/runtime.rs:266-272)是死写入——全仓无 field::Empty 声明、宿主不建 root span,tracing 对未声明字段静默忽略;agent.run.complete 日志(run_core.rs:647-655)无 session 字段——多会话 HTTP 服务里 agent.turn: finished(runtime.rs:332-336)无法归属。

建议

事件统一 envelope(ts_ms + 单调 seq + session_id + turn),SSE id: 直接承载;宿主建 per-turn span 并声明字段后 record。

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de jeffkit/recursive

Todos los issues de jeffkit/recursive

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.