Agents

AI that drafts, investigates, and explains — and never signs off.

Steriod is AI-assisted, not AI-trusted. Agents do the laborious work — reading documents, drafting rules, planning analyses — and every consequential action passes through a human gate. That division of labour is architectural, not a policy setting.

The rule we won't break

Approval is human-only. Always.

A requirement becomes part of your verification baseline only when a named human reviews and approves it in the UI. No agent — not ours, not one you connect over MCP — has an approve capability. The tool simply does not exist on the agent surface, so it cannot be prompted, jailbroken, or misconfigured into existence.

Draft ≠ approve

Agents produce drafts and proposals. The state change to "approved" is a separate, human-initiated action recording who signed and when.

Gated write tools

When the Vi assistant wants to modify anything, the change is shown to you for confirmation before it's applied.

Logged and replayable

Agent conversations and worker runs are durable records with full event logs — you can audit what an agent did and why, after the fact.

The assistant

Vi — the in-app engineering assistant

Vi lives inside the Steriod UI with full project context: your requirements, runs, signals, and imported documents. Conversations are durable — reload the app mid-investigation and continue where you left off.

Answers from your data

"Which requirements failed in last night's run?" — answered from the live project, with links to the runs and rules it cites.

Drafts rules from specs

Point Vi at an imported specification and it proposes Axiom rules per requirement — each explained in plain English for review.

Hands off long work

Large jobs — importing a 200-page spec, drafting rules for a whole document — are delegated to background workers so the conversation stays responsive.

Provider-flexible

Configure the LLM providers you trust — hosted APIs or local, on-network models — per task, from the app's settings.

Background workers

Long jobs run as durable worker agents

Document imports and bulk rule drafting run as background agents with their own lifecycle: they survive restarts, can be cancelled, resume where they stopped, and keep a full log you can inspect from the project Library.

Doc-import worker

Ingests a specification PDF batch by batch — resumable on failure, with the uploaded source and a complete import log kept with the project.

Rule-draft worker

Walks a document's requirements and produces draft rules for each — queued for human review, never auto-approved.

Analysis workflows

Turns a plain-language question into a versioned workflow run: bounded planning steps with verified contracts, deterministic execution — the LLM plans and narrates, the engine computes.

Shared memory

The project Library ties it together

Everything agents produce — analysis results, drafted documents, import manifests, full run audits — lands durably with the project. Humans browse it from the Library page; fresh agent sessions are seeded from it, so context survives across conversations instead of living in one chat's history.

Bring your own agent

Your agents can work here too — over MCP

The platform's tool layer is exposed as a Model Context Protocol server. Connect Claude or any MCP-capable agent and it can list projects, search requirements, inspect signals and runs, validate rules, and run analyses — under exactly the same constraint as our own agents: no approve tool.

an MCP session against a Steriod project
> which requirements in "TTC" are still failing?
tool search_requirements  3 results
tool get_pipeline_results  TTC-T-4 fail · TTC-T-9 not_exercised

> draft a fix for TTC-T-4 and validate it
tool validate_requirement  compiles, 0 warnings
-- draft saved for review. approval: a human, in the UI.
Get in touch

Want to see the agents work on a real specification?

Bring a spec PDF to a call and watch the import → coverage → draft-rules loop run live.

ping@steriod.ai