Open-source Rust runtime for AI harnesses

Build AI harnesses.
Control how they run.

A harness is everything around the model: the context it can read, the tools it can call, the rules it must follow, and the checks that decide when the job is done. Define it once, then run it with different models.

  • Rust
  • Local-first
  • Model-agnostic
  • Traceable
HarnessObjectiveModelEnvironmentRunArtifact + Trace

01 / What is a harness?

Everything the model needs to do a job.

A harness is the runtime setup around a model. It defines what the model can see, what it can do, what rules it must follow, and how the result is checked.

CXT

Context

Data the model can read for this job.

matter · repo · papers
CAP

Tools

Actions the model is allowed to request.

search · shell · write
PRO

Workflow

Instructions and steps for how the job should run.

inspect · reason · test
POL

Rules

Allow, deny, or require approval before a tool runs.

allow · deny · approve
VER

Checks

Tests that decide whether the job actually succeeded.

pass · fail · uncertain

02 / Execution

The model asks. Prismoid decides what runs.

The model can propose a tool call. Prismoid checks the rules, runs the tool, records what happened, and verifies the result.

Typical agent

model returns an answer done

Prismoid

output exists + checks pass + trace recorded done

03 / Reuse

Reuse harnesses like packages.

Start from a base harness, add the tools for the job, then add your company rules. Prismoid resolves the final harness before the run starts.

Harness dependencies

acme/litigation
extendsprismoid/research
extendsprismoid/legal-core
extendsacme/security

resolve · validate · merge

ResolvedHarness IR
sha256:9af…91c
  • Rulesstrictest rule wins
  • Checksall required checks run
  • Toolsmerged by name
  • Workflowconflicts must be explicit
target / harness.yaml
apiVersion: prismoid.dev/v1
kind: Harness

metadata:
  name: acme-litigation

extends:
  - prismoid/research@1.4
  - prismoid/legal-core@2.1
  - acme/security@7.3

context:
  - legal/matter
  - legal/authorities

capabilities:
  - legal/search-cases
  - documents/write

policies:
  - legal/confidentiality
  - acme/human-approval

verifiers:
  - legal/citation-exists
  - legal/source-support
planned interface prismoid build ./harness.yaml

04 / Harness examples

Same runtime. Different jobs.

The Rust kernel stays the same. Only the harness changes: different context, tools, rules, and checks for each job.

</>engineering/software

Coding harness

Give the model repo context, filesystem and shell tools, and checks that run the build and test suite.

inspectedittestverify
Checkscompile + tests + diff
§legal/research

Legal harness

Give the model case and document search, matter context, citation checks, and approval rules for sensitive actions.

authorityreasoncitecheck
Checkscitation exists + source supports claim
Δscience/research

Scientific harness

Give the model papers, datasets, Python tools, source checks, and numeric/unit validation.

hypothesisevidenceanalyzereplicate
Checkssources + numbers + units

Core rule: the Prismoid kernel contains no coding, legal, or science-specific logic.

05 / Verify the result

Don’t trust “done.” Check it.

A run should leave something you can inspect: the output, the checks that passed or failed, and a trace of what happened.

01

Artifactthe file, patch, report, or other output.

02

Checkstests that confirm the result.

03

Evidencesources or results behind the checks.

04

Tracethe ordered event log for the run.

06 / Architecture

Small core. Everything else is an adapter.

The Rust kernel owns run state, events, artifacts, and verification. Models, MCP, storage, WASI components, and domain code stay outside it.

Domain
codinglegalsciencecompany/private
Components
contexttoolsworkflowruleschecks
Harness
resolvercompilercompositionHarness IR
Kernel
state machineeventsartifactsevidence
Adapters
modelsMCPWASIstorageenvironments
No Agent object in v0.1Start with harness + objective + model + environment.
Tools are explicitA model can only request tools listed by the harness.
Config is resolved firstThe runtime executes normalized Harness IR.
Model vendors are adaptersThe kernel does not depend on OpenAI, Anthropic, or others.
Portable componentsThe target plugin boundary is WIT/WASI, not a Rust ABI.
Checks gate completionThe model cannot mark its own work as successful.

07 / Developer first

Start with one binary.

Prismoid is local-first. Run the CLI on your laptop or in CI. Add SQLite, OCI packages, WASI components, a daemon, and remote execution later without changing the harness format.

prismoid
$ prismoid validate harness.yaml
 manifest valid

$ prismoid inspect harness.yaml
 Harness IR compiled
  digest blake3:9af…91c

$ prismoid run harness.yaml \
    --objective "Research the issue"

 context loaded
 rules checked
 output produced
 3/3 checks passed

completed · output + trace

Prismoid

Define the harness.Run the job.Check the result.

Open-source infrastructure for running AI with explicit tools, rules, and verification.