Skip to content

Kernel and hosts

One sp-eval-kernel owns workflow semantics (resolve, outer FrameworkAttempt, evidence commit, gates). Frameworks own assertion/scorer semantics inside the runner. Hosts supply execution primitives — they never synthesize Softprobe orchestration decisions.

Responsibility split

sp-eval-kernel

One statically linked Rust binary implements validation, outer DAG planning, idempotent FrameworkAttempt execution, state transitions, and event emission.

TransportUse
stdin/stdout framed ProtobufOne-shot local/CI
Unix socket or gRPCLong-lived managed/federated daemon

Same crate, same semantics — verified by shared conformance corpus.

Hosts

HostOwnsDoes not own
Local/CI CLIProcess launch, local CAS artifact dir, collecting framework JUnit/MarkdownWorkflow IDs, gate logic
Managed workerQueues, sandboxes, quotas, tenancy, object storage uploadWhether retries are legal (asks kernel)
Federated workerPrivate data residency, hardware placementAuthoritative state without signed ingestion

Hosts feed every lease outcome back through kernel commands; they do not append raw events from public clients.

SDK layers

LayerAudience
Public Python/TS SDKErgonomic workflow clients, REST clients
Internal host clientFramed Protobuf state-machine commands (trusted only)

Public SDKs never export kernel event append or transition APIs.

Distribution

sp-eval-kernel ships with Softprobe CLI releases: pinned protocol compatibility, checksum/signature, platform matrix (linux/darwin, amd64/arm64). Upgrade/downgrade refusal when WorkflowVersion requires unsupported capabilities.

Zero code changes · Full-context visibility · Cost optimization