- Each run's first text delta replaces the response artifact (append:false) and a resumed task
drops the previous run's response, so a failed/canceled continuation never keeps old text.
- Resumed is built from a fresh store read, history chronological (question, then answer),
timestamps on the TaskUpdater clock.
- Pool.Track refuses a second unfinished run of the same task; the pre-check rejects
continuations of a running task with UnsupportedOperation.
- Tests: continuation history, streaming continuation, response replacement, concurrent
continuation; busy test waits for the model call; TimeoutException in waits; push test
matches TASK_STATE_COMPLETED; harness cleans up on failed start.