mist-go

March 5, 2026 ยท View on GitHub

Shared library for the MIST stack. Zero external dependencies.

CI Go License: MIT Zero Dependencies

Install

go get github.com/greynewell/mist-go

Tools

RepoWhat
matchspecEval framework
infermuxInference router
schemafluxData compiler
tokentraceObservability

Packages

PackageWhat
protocolMessage envelope, types, versioning, typed payloads
transportHTTP, file, stdio, channel transports
cliSubcommands, typed flags, help generation
configTOML parser, env var overrides, validation
outputJSON lines, aligned tables
serverHTTP server, graceful shutdown
errorsStructured error codes, JSON marshaling
traceDistributed tracing, W3C Trace Context
loggingStructured JSON logging
retryExponential backoff with jitter
healthLiveness/readiness probes
checkpointDurable progress checkpointing
lifecycleStartup/shutdown orchestration
circuitbreakerCircuit breaker
metricsCounters, gauges, histograms
parallelWorker pool, rate limiting, backpressure
resourceMemory/goroutine limits
platformCross-platform file locking
misttestTest helpers

Usage

a, b := transport.NewChannelPair(64)
defer a.Close()
defer b.Close()

msg := protocol.New("myapp", "eval.run", map[string]any{
    "suite": "swe-bench-lite",
    "samples": 10,
})
a.Send(context.Background(), msg)
got, _ := b.Receive(context.Background())

Transports are URL-addressed:

t, _ := transport.Dial("http://localhost:8081")
t, _ := transport.Dial("file:///tmp/data.jsonl")
t, _ := transport.Dial("stdio://")
t, _ := transport.Dial("chan://")

Test

go test ./...                                        # 652 tests
go test -race ./...                                  # race detection
go test -fuzz=FuzzUnmarshal -fuzztime=30s ./protocol/
go test -fuzz=FuzzParseTOML -fuzztime=30s ./config/

Built with MIST

ProjectWhat
swe-bench-fastSWE-bench eval harness with native ARM64 containers. 6.3x speedup on Apple Silicon and Graviton.

Architecture: ARCHITECTURE.md