01
Paired by construction
Every task and replicate receives each treatment from the same starting state. Treatment order can be randomized deterministically.
Open-source evaluation tooling
Hold the model, tasks, and budget constant while you compare one context, tool, or instruction treatment at a time. Inspect every trial and publish verifiable evidence.
Python 3.10 through 3.14, Linux, macOS, Windows, Apache-2.0
Experiment
offline-quickstart
12 / 12
recorded trials
3 / 3
paired blocks
27,477
recorded tokens
$ scaffoldscope status runs/offline-quickstart-1b212f14
Progress: 12 / 12 (100.0%); remaining: 0
Paired blocks: 3 / 3 (100.0%)
Outcomes: context_overflow=3, resolved=9
$ scaffoldscope check runs/offline-quickstart-1b212f14
PASS: result bundle is complete and internally consistent.Why controlled ablations
Agent evaluations often change the model, prompt, tools, context manager, retry policy, and budget together. That produces a score without clean attribution. ScaffoldScope turns harness choices into declared treatments inside paired task and replicate blocks.
01
Every task and replicate receives each treatment from the same starting state. Treatment order can be randomized deterministically.
02
The canonical trajectory stays append-only. Derived model views record the complete assistant/tool bundles they retain or drop.
03
Traces, patches, reports, evaluator overlays, identities, and checksums ship in a deterministic evidence bundle.
Treatment surface
Start with four built-in context policies, then vary the tool surface or treatment instructions. Versioned plugins can add policies and providers without escaping experiment identity.
Configuration reference| Policy | Trigger | Behavior |
|---|---|---|
none | Never | Keep full canonical history until typed overflow. |
reactive | Utilization threshold | Summarize salient history and retain recent atomic bundles. |
periodic | Fixed turn cadence | Compact on declared boundaries with emergency handling. |
selective | Context budget | Select atomic bundles with deterministic budgeted scoring. |
Invariant: assistant actions and tool observations are retained or dropped as one atomic bundle.
How it works
A policy derives a model-facing view without mutating the canonical trajectory. The agent uses only the declared tools, a fixed evaluator checks the workspace, and each worker writes its own evidence before aggregates are rebuilt.
Config and tasks. Paired plan. Agent and context policy. Evaluator. Report and evidence bundle.
The starter uses a deterministic scripted provider to validate planning, execution, traces, and reporting. It is a workflow test, not a model benchmark.
$ python -m pip install scaffoldscope
$ scaffoldscope init my-study --name my-study
$ scaffoldscope validate my-study/experiment.json
$ scaffoldscope budget my-study/experiment.json
$ scaffoldscope run my-study/experiment.jsonReports and guardrails
The report keeps performance, resource use, context behavior, and validity diagnostics together without collapsing them into one score.
Read the result schemaScientific guardrails
Experiment-design contractSWE-bench interoperability
Import downloaded task rows, run every treatment and replicate cell, and export a uniquely identified prediction file for each cell. Official SWE-bench grading remains the correctness authority; results return as immutable overlays.
SWE-bench workflowProject maturity
Version 0.3.1 has a tested core evidence contract, but it does not carry a 1.0 stability promise or an adequately powered paid-model headline result. Use it to design and audit experiments today.