# refactor\(orchestration\): split thread-not-sendable into typed errors · pingdotgg/t3code

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

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

Visibility: public

Requested revision: 5031138b016f7e93eee8f87e8fa5b27f1ce77827

Requested commit: 5031138b016f7e93eee8f87e8fa5b27f1ce77827

Commit: 5031138b016f7e93eee8f87e8fa5b27f1ce77827

Tree: 4e442d9500d64b9e6cead39fabcd5509bd98e491

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
refactor(orchestration): split thread-not-sendable into typed errors

Effect service conventions: ThreadManagementThreadNotSendableError
carried an Archived/NoSteerableRun reason union and switched on
reason._tag inside the message getter. Modelled as two error classes
(ThreadManagementThreadArchivedError, ThreadManagementNoSteerableRunError);
both still map to the MCP thread_not_sendable failure code.

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

```

## Parents

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

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