Skip to main content

Module error

Module error 

Source
Expand description

What can go wrong in a worker.

Every error this crate produced used to be SomaError::Other(String) — all 51 of them. So a caller could not tell a dropped socket from a Python subprocess that died from a plan it could not decode, and the three want different responses: retry, restart the interpreter, give up. A string that reads differently is not a distinction a program can act on.

These variants are the worker’s domain, which is why they live here and not in [SomaError]: soma-core describes graphs and their execution, and it has no business knowing what a venv is. At the boundary — the traits this crate implements for the runtime — a WorkerError converts into SomaError, keeping its message.

See the “Errors: typed at the edges, shared at the seams” entry in the design decisions.

Enums§

WorkerError
A failure inside a worker.

Type Aliases§

Result
Result with this crate’s error.