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

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

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

Visibility: public

Requested revision: a107a7aae56ee359d343dadee3492148f4cf0ee5

Requested commit: a107a7aae56ee359d343dadee3492148f4cf0ee5

Commit: a107a7aae56ee359d343dadee3492148f4cf0ee5

Tree: 610f974dcb454ea5df3b690f0a30380c6484a5db

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

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

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