Group serialized edit and write continuations - #591
Conversation
|
There is a live/restored inconsistency when assistant text follows a file mutation in the same response. For this canonical sequence: restoring the session keeps the writes separate, as expected. During live event handling, however, The live transcript consequently renders the assistant text followed by Could continuation eligibility be derived from canonical assistant block ordering rather than display adjacency? In particular, cross-response grouping should only be allowed for mutation-only continuations. Please add live adapter coverage for text/thinking both before and after the first tool call, and verify live/restored parity. |
|
Addressed in Continuation eligibility now comes from the canonical assistant block sequence and is carried to live tool-start events. Both the previous and current responses must be same-tool mutation-only responses, so transient display adjacency cannot bridge text or thinking. Added parameterized live/restored coverage for text and thinking before and after the first write call. All cases keep the writes separate, while mutation-only continuations still group. |
Reconcile the fork with the latest upstream state: - 20aafad huggingface#591 groups serialized edit and write continuations - 781b92c huggingface#593 makes sidebar skills and prompts collapsible - be01f15 huggingface#594 prepares the Tau 0.3.11 release - 95b7ca4 huggingface#595 refines sidebar resource heading styles The fork's turn-level retry work is orthogonal to these changes, so all fork fixes are preserved; only import/version conflicts needed resolution. The fork version moves to 0.3.11+naripok.2 (upstream base 0.3.11, fork-local counter preserved). README sync reference updated.
Summary
editorwritecalls emitted by same-tool model continuationsCtrl+OMotivation
Some providers serialize tool use as one assistant file-mutation call, one tool result, then another assistant call of the same type. Although these edits or writes are visually consecutive, response-local batching leaves each in a separate transcript row. This follow-up makes that common sequence one
Edited N filesorWritten N filesgroup.User experience
A restored sequence such as:
now renders as:
The same applies to writes. Assistant text, thinking, or a different tool still starts a new transcript boundary.
Validation
uv run pytest(1520 passed, 2 Windows-only skipped)uv run ruff check .uv run ruff format --check .uv run mypyuv buildhugo --minifynpx --yes pagefind@latest --site publicManual validation
Ctrl+Oand confirm every invocation and result remains visible.