Open the visual workbench
Take full control in the interface: define Agents, author contracts, label rows, compare results, and inspect the evidence behind every score.
See and control every part of the workflow.Valcore connects the Agent you are improving, flexible Datasets, fully harnessed Agent Evaluators, and statistical Experiment Runs in one workflow. Run your Agent over real cases, score what it said on the same data contract, then version and compare every result.
brew install duncankmckinnon/tap/valcoreOpen source · Apache 2.0 · Python 3.11+ · Local CLIs or Pydantic AI Gateway

One connected system—not a pile of eval utilities.
Storage, authoring, and execution stay local. The browser, CLI, and coding agents operate the same persistent workspace, while every core surface can sync directly to its counterpart in Pydantic Logfire.
Take full control in the interface: define Agents, author contracts, label rows, compare results, and inspect the evidence behind every score.
See and control every part of the workflow.Install the Valcore skill and let Claude, Codex, or Cursor create, version, run, inspect, and export through the CLI—even while the interface is closed.
Use your agent to build and operate the system with you.Agents, Datasets, Agent Evaluator versions, Experiment Runs, configuration, and results share one active local state.
Valcore keeps the Pydantic objects intact. Sync to Logfire without translating your work into a second, proprietary data model.
Valcore turns the Pydantic ecosystem into a complete experimentation workflow, without hiding the portable primitives underneath.
pydantic-ai-harnessPortable AgentSpec definitions, typed inputs and outputs, structured scoring, MCP, tools, CodeMode, planning, filesystem, and shell.
pydantic-evalsRun the same Dataset through native Pydantic experiments, with portable JSON and Python exports.
logfireTrace every Agent and Agent Evaluator call, sync Experiment Runs automatically, keep Agent prompts in managed variables, and move Datasets in either direction.
Generate Agents, Datasets, and Agent Evaluators, then run Agents and Experiment Runs through an authenticated coding-agent CLI. No new model key required.
Use a consistent hosted route across providers when you need pinned models, harness capabilities, tools, or portable Python exports.
Your Agent runs on a Dataset and adds its responses as new columns on the same rows. It can also generate the Agent Evaluator that scores it, and Datasets and Agent Evaluators generate each other. Every step shares one contract, so nothing needs rewiring.
inputsquestionoutputresponsequestionstringresponseAgent v2 · run 0inputsquestion · responseoutputreasoning · scorescorepass · fail · reviewlabel agreement · κ · F1 · a score for every Agent response
traced and synced to Logfirelabelpass · fail · reviewrationalestring · reviewer noteEvery entry point lands in the same versioned, portable evaluation workflow.
Store the Agent you are improving as a versioned Pydantic AI spec—written by hand, imported, or drafted from a prompt—then run it over any Dataset and keep each run's responses as a numbered overlay on the same rows.
Explore AgentsLogfire variablesAgentSpec YAMLDefine real input columns, a fixed label set, and the distribution you expect in production—or use a refreshable SQL query over your Logfire traces.
Explore datasetsPydantic LogfirePythonEach Agent Evaluator is a fully specified agent: typed inputs, structured outputs, model, prompt, tools, and harness capabilities in one versioned unit.
Explore Agent Evaluatorsgateway/anthropic:claude-sonnet-5You are a domain reviewer. Judge whether the response is accurate, safe, and complete.
PROMPT TEMPLATEReview the response to {customer_request}
customer_requestresponsereasoningstrjudgmentenum · scoreClaudeCodexCursorGatewayRun an Agent Evaluator against a human-labeled Dataset, inspect every disagreement, and compare Agent, prompt, capability, or model changes on the exact same cases.
Explore Experiment Runs