Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

Balanov/skein

AI Engineering

Fail-closed execution control plane for local agent swarms that fences work by epoch and rejects late completions after a stop.

194
0
Go
MIT
new today

What it does

Skein is a local execution control plane for agent swarms. It runs explicit JSON task graphs with bounded worker concurrency and adds a persistent epoch fence: an emergency stop invalidates queued tasks and rejects completions that belong to the superseded epoch, rather than just marking tasks as canceled.

It is deliberately not an agent framework or a model runtime. The focus is execution control: dependency graphs, reusable multi-pass blocks, per-pass timeouts, worker limits, and stop handling for tracked process trees. It targets people building local multi-agent workflows who need a stronger stop guarantee than a cancellation flag.

Quick start

Build from source with Go 1.26 or later, or use the install scripts and prebuilt release binaries. The install scripts detect OS and architecture, verify the binary against SHA256SUMS, and place it in a user directory; SKEIN_INSTALL_DIR overrides that location.

curl -fsSL https://raw.githubusercontent.com/Balanov/skein/main/install.sh | sh

Alternatively, build with Go:

go build -trimpath -o bin/skein ./cmd/skein

Run a sample graph, stop it, inspect state, then reset it:

skein run --state .skein --workers 2 --include-tasks examples/fanout.json
skein stop --state .skein --reason "manual emergency stop"
skein status --state .skein
skein reset --state .skein

status returns JSON such as {"stopped":true,"epoch":2}. Run artifacts, including report.json, events.jsonl, leases, and payload data, are written under .skein/runs/<run-id>/. Exit code 0 means success, 3 means a task failed, 4 means the run was stopped, 1 is an operational error, and 2 is a usage error. The manifest format and Go embedding API (import skein "github.com/Balanov/skein") are documented in the integration guide.

Scope and constraints

The stop guarantee covers scheduling within one local run, an idempotent stop latch, epoch-fenced queued work, late-completion rejection, and termination of tracked local process trees on Linux, macOS, and Windows. It does not sandbox arbitrary commands, authenticate or sign leases, validate agent output semantically, guarantee exactly-once external side effects, recover automatically from crashes, provide distributed consensus, or reclaim remote or detached work. A lease is a fencing token, not a credential, so external systems must check it through a gateway. Commands run with the OS user's permissions, so untrusted workloads need an OS-level sandbox.

The README calls version 0.2.0 an early release and recommends testing the stop proof against your own workloads before relying on it operationally. Verification requirements are go test -count=1 ./..., go vet ./..., and optionally go test -race -count=1 ./..., which needs CGO and a C compiler. The project is MIT-licensed. The included measurements are local observations on Windows 11 / Ryzen 9 5950X and are not universal rankings; at 100 independent tasks, asyncio had a lower median (0.740 ms versus 1.040 ms).

HotRepo's take

The project appeared on the new-project list with 134 stars gained in the roughly four-hour growth window from November 2 to November 3, 2026, reaching 134 stars by the single recorded snapshot. That is early traction, not a long-term trend record. The more useful signal is the design scope: bounded concurrency plus an epoch-fenced stop, with explicitly listed non-goals. Readers evaluating it for production should weigh the 0.2.0 early-release caveat and the absence of sandboxing, signed leases, and crash recovery against their own workflow.

Written by AI from the project's README, updated . The project's own docs are the source of truth.