# fix\(server\): reject replaying a command receipt across threads in v2 · pingdotgg/t3code

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

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

Visibility: public

Requested revision: 867cb39c7e1970dddd393b4c02e16d18efc4fe7d

Requested commit: 867cb39c7e1970dddd393b4c02e16d18efc4fe7d

Commit: 867cb39c7e1970dddd393b4c02e16d18efc4fe7d

Tree: 3884dfaa146cff9e4027e1c0f7a51c1bb72aca93

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
fix(server): reject replaying a command receipt across threads in v2

Ports v1's #5246 guard into the v2 dispatcher: a stored receipt only
proves that this exact command already ran for the thread it was recorded
against, so returning it for a command aimed at a different thread reports
success for work that never happened there. The check is extracted as
canReplayCommandReceipt so the rule is unit-testable, and reuse now fails
with OrchestratorCommandIdConflictError like the v1 path.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

```

## Parents

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

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