Skip to content

TUI: HttpConnectionClosing retries give up turn and corrupt trajectory log #86

Description

@yxlyx

Summary

During a graff --yolo session, a user turn failed with repeated HttpConnectionClosing retries, then the agent gave up the turn. The saved trajectory log also appears malformed immediately after the failed turn.

The screenshot showed this terminal output after the user asked:

no 43 and 16 are not done
. can u explain 23 idk how to test that
[network error: HttpConnectionClosing — retrying (1/3)]
[network error: HttpConnectionClosing — retrying (2/3)]
[network error: HttpConnectionClosing — retrying (3/3)]
[request failed: HttpConnectionClosing — giving up this turn]

A subsequent retry began and the session was quit:

[network error: HttpConnectionClosing — retrying (1/3)]
zsh: quit        graff --yolo

Relevant trajectory log excerpt

From harness.trajectory.jsonl around the affected chat:

--- line 87 ---
{"id":2,"parent":1,"kind":"turn","label":"gpt-5.5","t":277623,"ms":200137,"prompt_sha":"39aaf575e70d34da","prompt_mutated":false,"task":"can u check if the other issues have been implemented already such that they shld be closed","tools":"bash,workflow","ok":true,"context_tokens":19255}

--- line 88 ---
{"id":8,"parent":2,"kind":"turn","label":"gpt-5.5","t":1137471,"ms":99,"prompt_sha":"39aaf575e70d34da","prompt_mutated":false,"task":"no 43 and 16 are not done. can u explain 23 idk how to test that","tools":"","ok":false,"context_tokens":19255}

--- line 89 ---
:28760}

--- line 90 ---
{"kind":"prompt","prompt_sha":"cbca885338f0453c","text":"You ar{"kind":"prompt","prompt_sha":"6506bb9b2842ab69","text":"You are a research agent. Your job is to READ and REPORT, never to modify anything. ..."}

Line 88 shows the failed turn (ok:false) after only 99ms with no tools invoked. Line 89 is not valid JSONL, and line 90 appears to contain concatenated/truncated JSON.

Expected behavior

  • Transient connection closures should be retried/recovered where possible.
  • If the turn still fails, the full user-visible error should be preserved in trace/trajectory logs.
  • harness.trajectory.jsonl should remain valid JSONL after failed turns.
  • The user should be able to continue without losing request context.

Actual behavior

  • The terminal showed HttpConnectionClosing retries and then giving up this turn.
  • The persisted trajectory only records a fast failed turn with ok:false and no error detail.
  • The trajectory file appears malformed immediately after the failed turn.

Impact

This loses the user’s requested answer and makes debugging difficult because the visible network error is not preserved verbatim in the logs, while the trajectory log itself appears corrupted/truncated.

Environment

  • CLI/session: graff --yolo
  • Model shown in TUI: gpt-5.5
  • Working directory shown in TUI: /Users/limyuxi/lawbook
  • Relevant local files: harness.trajectory.jsonl, harness.trace.jsonl

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions