Task/Pack ──► Experiment ──► Scheduler ──► Agent Adapter ──► Sandbox/Tools
│
▼
Result Bundle ◄── Scorers ◄──── Trace
│
▼
Compare / Regression ──► Dataset/UI
▲
Coordinator/Workers (optional, team mode) ┘
- Task/Pack — versioned YAML packs (
protocol: 2) with provenance manifests, fixture hashes, contamination flags, prerequisites/budgets. Validated bytooltrace lintanddry-run. - Experiment — manifest pinning suite, adapter, model metadata, sampling, repetitions, sandbox profile, scorer versions.
- Scheduler — local bounded-concurrency runner; optional coordinator with registered workers, resumable checkpoints, sharding/merge, fairness queues.
- Agent Adapter — OpenAI-/Anthropic-/Gemini-compatible and local subprocess adapters; MCP client support; capability negotiation; retry/backoff recorded in traces; secret-safe credential resolution.
- Sandbox/Tools — temp-workspace (default), Docker/Podman providers, Windows-native interface; network profiles offline/local-fixtures/allowlist; fault injection for recovery suites.
- Trace — append-only JSONL events with schema version, redaction policies, chunked streaming readers, binary artifact manifests.
- Scorers — deterministic assertions first; outcome-vs-trajectory dual scoring; optional judges with disagreement reporting and calibration sets.
- Result Bundle —
.tooltracedirectory with checksums, reproducibility score inputs, signing support via standard tooling. - Compare/Regression — cohort-safe comparisons (protocol/scorer/task compatibility enforced), baselines, trends, significance where justified.
- Dataset/UI — generated validated indexes → static frontend; server mode exposes the same data over REST/SSE.
Protocol v1 → v2 migration is backwards-compatible: old bundles remain readable;
new fields are additive. See schemas/ for canonical schemas.