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>
adf137f59bJulius Marminge committed on 9/5/2026, 4:54:25 AMparent7e05b91
2 files changedLine totals unavailable