# fix\(server\): a timed-out steer is not resent as a follow-up · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commit/67654ae8e4b1665798bdff5417957513f5a56f9d)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

Requested revision: 67654ae8e4b1665798bdff5417957513f5a56f9d

Requested commit: 67654ae8e4b1665798bdff5417957513f5a56f9d

Commit: 67654ae8e4b1665798bdff5417957513f5a56f9d

Tree: 6a222fa10c275dde230f48cfd73d5b63675b40bb

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
fix(server): a timed-out steer is not resent as a follow-up

A steer whose acknowledgement timed out may already have been accepted.
If its turn completed in the meantime, the worker treated it like a
rejected steer and dispatched the message again as a follow-up, so the
provider could receive the same input twice. A timeout now never reports
turnCompleted, so it stays a failure; ordinary rejections against a
completed turn keep the follow-up fallback.

The steer cause-chain walk now tracks visited errors so a cyclic cause
cannot loop forever.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

```

## Parents

- [25cf68d4e857bacc811a795ddc4c0947ffdbb777](https://git.cafe/pingdotgg/t3code/commit/25cf68d4e857bacc811a795ddc4c0947ffdbb777?format=markdown)

[Source at this commit](https://git.cafe/pingdotgg/t3code/tree/67654ae8e4b1665798bdff5417957513f5a56f9d?format=markdown)
