Files
deepseek-harness/apps/web/tests/snapshots/turn-tail-actions/running.expected.md
T
creatixchu 53e210348d fix(web): grant turn-tail IconActions only after the turn ends
`assistantActionsSeqs` picked the last content-text assistant of each turn
from the finalized transcript alone. That quantity is stable only once the
turn closes: while a turn is still producing steps, the narration written
before a tool call is the last content assistant so far, so copy, branch,
and the clock appeared under an intermediate sentence for as long as the
tool ran and then moved down to the next step's text.

Pass `ConversationSnapshot.turnEnds` into the derivation and grant the row
only inside a turn that has a durable `turn/end`. This is the same
completion fact the branch control and the `Ran for` label already read, so
the three parts of one row now agree; mid-turn narration owns nothing, and
the seat appears once under the settled answer.

`hasContentText` moves to chat-flow.ts so the ownership gate and
AssistantMarkdown's mount gate cannot drift apart.

apps/web/tests/turn-tail-actions.e2e.ts pins both states through the
assembled application: a hang sidecar on the second model call parks a turn
whose first step narrated before calling bash, and the two goldens hold the
parked flow and the flow after stopping.
2026-08-06 16:42:41 +08:00

1.7 KiB

  • banner:
    • navigation "Session hierarchy":
      • button "Begin your reply with the" [disabled]
    • tablist:
      • tab "Chat" [selected]
      • tab "Trajectory"
  • text: Begin your reply with the plain sentence "Reading the workspace now." as text, and in that same message call the bash tool with the command "echo alpha". After the tool result, reply with the single word DONE and stop. {{clock}}
  • button "Copy":
    • img
  • tooltip "Copy"
  • button "Branch into a new conversation" [disabled]:
    • img
  • text: Available only on the last message of a completed turn
  • button "Context injection @deepseek-ai/dsh-system-prompt":
    • img
    • img
    • text: Context injection @deepseek-ai/dsh-system-prompt
  • button "Think The user wants me to begin with "Reading the workspace now." and call bash with "echo alpha" in the same message. Then after the tool result, reply with the single word DONE and stop.":
    • img
    • img
    • text: Think The user wants me to begin with "Reading the workspace now." and call bash with "echo alpha" in the same message. Then after the tool result, reply with the single word DONE and stop.
  • paragraph: Reading the workspace now.
  • button "Bash Print alpha to stdout":
    • img
    • img
    • text: Bash Print alpha to stdout
  • paragraph: partial
  • status: Deep diving...
  • textbox "Message the agent"
  • button "Commands":
    • img
  • 'button "Access mode, current: Workspace Write"': Workspace Write
  • button "Select model, current DeepSeek-V4-Flash":
    • text: DeepSeek-V4-Flash
    • img
  • button "6% of context used"
  • button "Stop generating"
  • text: 1 turns · 1 steps LLM {{duration}} · Tool call {{duration}} TTFT avg {{duration}} · {{throughput}} tok/s Cache hit 0% Input 7.8K tok · Output 109 tok