fix(sessions): 「卡在哪一步」物理上不可回答——transcript 无 step/turn 字段、checkpoints 默认空、失败事件全静默
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
- 35/100
Línea de trabajo
Start at src/session/serialize.rs:9-41 (TranscriptEntry) and the kernel's MessageAppended emission to see where step information is already available but dropped. Then trace run_core.rs:1396 into runtime.rs:304-308 to see how an Err skips emit_turn_messages and TurnFinished, and pick where AgentEvent::TurnFailed and a HookEvent failure variant would slot into the existing 17. checkpoint_log.rs:37-72 writes checkpoints.jsonl, read by rewind.rs:57-65; decide what a crash-time snapshot must hold. Done means each proposed point verified by diff; 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。(事故驱动:flow run 失败后值守只能翻 stderr 尾巴反推。)
Summary
src/session/serialize.rs:9-41(TranscriptEntry):有 uuid/parent_uuid/role/content/tool_calls/usage/timestamp/audit——无 step、无 turn;跑了几步只能数 assistant 条目。- 唯一带 turn 的
checkpoints.jsonl(checkpoint_log.rs:37-72)是 on-demand(Goal 284 取消自动快照)——实测 232 条消息的会话 0 字节;空 log 让sessions rewind直接报错(rewind.rs:57-65"no checkpoints recorded")。 - 失败时事件面全静默:
run_core.rs:1396Err直接冒泡 →runtime.rs:304-308使 emit_turn_messages、TurnFinished、摘要日志全跳过;HookEvent17 变体无失败版(无 SessionEndErr/RunFailed)。
建议
TranscriptEntry 加 step: Option<usize>(kernel 已按 step 发 MessageAppended,只是没落);失败补 AgentEvent::TurnFailed { step, error } + HookEvent::SessionEndErr;checkpoints 加崩溃兜底快照。
- 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
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
jeffkit/recursive#134 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
jeffkit/recursive#132 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
jeffkit/recursive#88 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 58/100
jeffkit/recursive#87 · 11 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
jeffkit/recursive#86 · 6 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de jeffkit/recursive
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
Los mantenedores suelen responder en 1 día
-
Markdown Preview Fonts Don't Show Selected OptionPosiblemente ocupada @RadhiRasho la tomó hoy. Abiertostate:needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 61/100
zed-industries/zed#65300 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Add collect method to DataFrameAbiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día