Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

fix(sessions): 「卡在哪一步」物理上不可回答——transcript 无 step/turn 字段、checkpoints 默认空、失败事件全静默

Closed
#120 2 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
rust
Domain
backend

Research direction

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.

Written by the indexing model from the issue text.

Description

场景 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:1396 Err 直接冒泡 → runtime.rs:304-308 使 emit_turn_messages、TurnFinished、摘要日志全跳过;HookEvent 17 变体无失败版(无 SessionEndErr/RunFailed)。

建议

TranscriptEntry 加 step: Option<usize>(kernel 已按 step 发 MessageAppended,只是没落);失败补 AgentEvent::TurnFailed { step, error } + HookEvent::SessionEndErr;checkpoints 加崩溃兜底快照。

Dominant language
Rust
Stars
4
Forks
0
Avg merge
5h 32m
Merged PRs (30d)
7

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • No pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from jeffkit/recursive

All issues in jeffkit/recursive

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.