Skip to content

Architecture overview

Softprobe Agent Evaluation is Design 3: the portable evaluation kernel — one Rust sp-eval-kernel, one workflow model, many runtimes (local, CI, managed, federated). Frameworks keep their DSLs; Softprobe supplies environment, lifecycle, evidence, thelake storage, comparison, and gates.

Components

ComponentRole
Public APIframework suite + subject + environment + runner — pack, validate, run, query, compare, promote
Workflow resolveNames → digests: FrameworkDefinition, RunnerVersion, SubjectVersion, EnvironmentVersion, gate policy
sp-eval-kernelValidate, plan outer attempt, state machine, IDs, retries, events — single Rust binary
HostsLaunch processes, transfer bytes, clocks, secrets — no orchestration semantics
Framework runnerOpaque execution node for Promptfoo/DeepEval/…
thelake ledgerAppend-only SoR: WorkflowRun, FrameworkAttempt, EvidenceArtifact digests, GateDecision
Object storageContent-addressed artifact bytes (tenant-scoped)
ProjectionsOptional scores / run views — async, rebuildable, loss-aware

What the kernel owns exclusively

  • WorkflowVersion validation and capability negotiation
  • Outer FrameworkAttempt identity, retries, cancellation, idempotency
  • Legal state transitions and typed terminal outcomes
  • Evidence commit-before-reference and event schemas
  • GateDecision over outer status + selected runner-reported fields

Hosts and runners may not synthesize Softprobe lifecycle events or authoritative gates.

What Softprobe does not own

  • Case/assertion/scorer/reducer DSLs
  • Softprobe-native suite authoring as a product surface
  • A 1:1 importer that mirrors every framework feature

Zero code changes · Full-context visibility · Cost optimization