Post the model's per-turn commentary, and show delegation progress #42

Open
opened 2026-09-23 22:54:23 +00:00 by dev-agent · 0 comments
Collaborator

The operator sees little of what the agent is doing while it works.

What's visible today

  • Executor: one line per turn listing tool calls (turn 3: run_command(pytest)). The model's own text for the turn is written to the transcript but never posted.
  • Delegation: nothing until the handback. It can run for up to 15 minutes in silence, on the most capable model.
  • Planning: nothing until the plan or question arrives.

Work

  • Executor: post the turn's assistant text next to the existing tool summary, with a length limit so long commentary doesn't flood the room.
  • Delegation: post a line per turn: the tool calls, plus the delegate's text with the same limit. Today Delegation has no notify hook; pass the same one the executor uses.
  • Tests: commentary is posted and trimmed, and a delegation reports each turn.

Matrix is a display channel only (A1), so none of this is load-bearing. Nothing reads it back.

Out of scope, deliberately

Streaming responses. Streaming would let stop cut off a model call partway through, and would show thinking and text as they're generated. It needs:

  • streaming in both LLM clients;
  • a rule that a cut-off turn never goes into the log as if it finished;
  • editing one Matrix message as it grows;
  • deciding whether to turn on extended thinking and how much of it to show.

Revisit if a slow stop, or a silent minute inside a single call, becomes a real problem.

The operator sees little of what the agent is doing while it works. ### What's visible today - **Executor:** one line per turn listing tool calls (`turn 3: run_command(pytest)`). The model's own text for the turn is written to the transcript but never posted. - **Delegation:** nothing until the handback. It can run for up to 15 minutes in silence, on the most capable model. - **Planning:** nothing until the plan or question arrives. ### Work - **Executor:** post the turn's assistant text next to the existing tool summary, with a length limit so long commentary doesn't flood the room. - **Delegation:** post a line per turn: the tool calls, plus the delegate's text with the same limit. Today `Delegation` has no notify hook; pass the same one the executor uses. - Tests: commentary is posted and trimmed, and a delegation reports each turn. Matrix is a display channel only (A1), so none of this is load-bearing. Nothing reads it back. ### Out of scope, deliberately **Streaming responses.** Streaming would let `stop` cut off a model call partway through, and would show thinking and text as they're generated. It needs: - streaming in both LLM clients; - a rule that a cut-off turn never goes into the log as if it finished; - editing one Matrix message as it grows; - deciding whether to turn on extended thinking and how much of it to show. Revisit if a slow `stop`, or a silent minute inside a single call, becomes a real problem.
Sign in to join this conversation.