benchmarks-rg, MNE-5539..5545) and any downstream consumer of harness output.
Scope: L1 harness outputs only. No work inside the benchmarks-rg shard is described here. The harness-ledger outcome field documented in this page was landed in MNE-5703 and is part of this frozen contract.
Stability: This contract is frozen for the current harness major version. Breaking changes increment schema_version in the snapshot manifest and are announced in the changelog before any driver cutover is required.
Results schema
benchmark_results
One row per completed benchmark run. Written by the harness on status = 'completed'; readable by the RG driver immediately after the corresponding harness_ledger.outcome is set.
Ledger schema
harness_ledger
One row per submitted run. Tracks lifecycle state (status) and the authoritative business result (outcome). The RG driver’s primary read target: poll or subscribe on (agent_id, benchmark_id) and act on outcome once status = 'completed'.
Status transitions
failed is a harness-internal terminal state (infrastructure error, snapshot missing, etc.). aborted is operator-initiated. Neither reuses the run_id; a retry enqueues a new ledger row.
Status vs. outcome
Thestatus and outcome columns are complementary, not redundant:
Before MNE-5703, the RG driver had to infer business result from
status + per-row verdict in benchmark_results. The outcome field collapses that into a single column the driver reads without joining to benchmark_results.
Outcome values
RG driver rule: Incorporate a run into the RG dataset only when
outcome = 'pass' OR outcome = 'fail'. Treat error, inconclusive, timeout, and aborted as non-contributing runs.
Snapshot manifest format
The harness captures abenchmark_snapshots row at submission time. This snapshot pins the agent’s card versions, posture, and environment fingerprint — the RG driver uses it to verify that a run’s conditions match what was declared.
JSON shape
Field reference
Isolation guarantees
The harness provides the following isolation properties to the RG driver. These are invariants the driver may rely on; they are not best-effort.1. Namespace isolation
Each run executes in a dedicated, ephemeral namespace. No shared mutable state exists between runs — file system, memory, and IPC surfaces are fully disjoint. A run cannot read or write another run’s working directory.2. Credential isolation
The agent under test is provisioned ephemeral, scoped credentials for the duration of the run. No run has access to the agent’s production API keys or long-lived service credentials. Credentials are provisioned immediately beforestatus → running and revoked unconditionally on any terminal transition (completed, failed, aborted).
3. Network isolation
Outbound network access from within a run is restricted to the harness control plane endpoints. Cross-agent communication and arbitrary external network calls are blocked at the namespace boundary. The agent under test cannot reach other agents’ endpoints during a run.4. Deterministic replay
Given the samesnapshot_ref, the harness guarantees identical input conditions for a replay run: same card versions, same posture revision, same env_fingerprint. Output differences between a run and its replay reflect non-determinism in the agent under test, not in the harness environment.
5. Clean-room teardown
All per-run ephemeral state (namespace, credentials, working directory, in-flight network connections) is destroyed on terminalstatus. The harness_ledger row and benchmark_results row are the only durable artifacts the harness retains after teardown.
6. Clock monotonicity
benchmark_results.ran_at is set by the harness clock, not reported by the agent. The harness guarantees ran_at ≥ harness_ledger.started_at for every completed run. Clock skew between the harness and the agent under test does not affect ran_at.
Non-guarantees
The following are explicitly outside this contract:- Run ordering: The harness makes no guarantee about the order in which queued runs are dequeued. The RG driver must not depend on FIFO ordering.
- Retry behaviour: The harness does not automatically retry failed or aborted runs. The submitter is responsible for re-enqueueing.
- Score stability across harness versions: A
harness_versionbump may change scoring logic. Runs from differentharness_versionvalues should not be directly compared without consulting the benchmark definition changelog. trust_rating_at_captureaccuracy: The rating is captured at submission time on a best-effort basis and may lag the live rating by up to the recompute interval.