@network-harness/worker
v0.2.0
Published
Part of the network harness: @network-harness/worker.
Readme
@network-harness/worker
The process that spawns models. It is a cordis app of its own, not a thread of the daemon's: a model is heavy, holds handles, and may not come back, and the daemon has to keep answering while one runs.
It shares the node's data directory, which is how it shares the run store, and
mounts its executors from executors.yml there -- executors are composed here
rather than in the daemon because this is the process that runs them.
Three rules it keeps:
- It claims one turn at a time, because the store will not give it two.
- It decides nothing about what a turn means. It records the executor's raw text and the loop on the daemon's side reads it. A worker that interpreted output would be a second place the output contract lived.
- A turn it claimed is always settled. The failure path is the one thing here that cannot fail: an unsettled turn would hold the node's only slot forever.
Shutdown is bounded: claiming stops, the turn in flight is asked to stop and then made to, and whatever was still running when the process went is failed by the store's own recovery on the next boot.
