Trial by Trace: Benchmarking AI Agent Harnesses for Reliability and Failure Attribution
arXiv:2610.32285v1 · This workspace stays on this version. Check arXiv for newer versions
Some source details need review 1 to check
Original formulas, table values and figures are preserved. Comparison can miss differences; use the original PDF to check details.
Reading view checked: 92 math expressions, 0 rendering failures; 14 of 14 images available.
Compared 116 of 116 source passages against 31 of 50 PDF pages.
- This long paper was only partially compared; the original sources remain available.
14 of 14 figure, table and graphic images captured. Open original PDF
Abstract
LLM agents are increasingly used to solve real-world problems, and their effectiveness depends on both the underlying models and the harnesses that support their operation. However, most existing benchmarks focus on model capabilities and overall agent performance, with limited attention to the evaluation of agent harnesses. To address this gap, we introduce TraceTrial-Bench, which organizes harness reliability into seven components covering context, execution, governance, lifecycle, observability, tools, and verification. We construct 95 expert-level, mechanism-oriented tasks with executable or state-based ground truth to support semantically equivalent comparisons while preserving the native behavior of each harness. We design a Trajectory Tracing (TT) module to capture agent execution traces and introduce a two-layer evaluation framework that separately assesses agent performance and harness reliability. In addition, we design a Multi-source Evidence Acquisition (MEA) module to provide evidence from the agent context, harness, and execution environment for LLM-based evaluation, and develop a Failure Attribution (FA) module that uses explicit mechanism chains to support attribution at the run level. Across 4 harnesses, 9 models, and 95 tasks, our evaluation of 3,420 runs yields macro-averaged harness scores ranging from 59.8% to 72.0%, while 31.1% of runs achieve task success despite failing at least one harness criterion. TraceTrial-Bench provides an auditable and reproducible foundation for comparing agent harnesses, diagnosing their failures, and studying how harness design interacts with model behavior.

Large language models have evolved from systems that primarily generate text into the foundation of AI agents that can carry out complex, multi-step tasks (wang2024survey; yao2022react; agashe2025agent). By using tools, executing commands, modifying files, and interacting with external environments, these agents can translate user goals into concrete actions and observable outcomes (schick2023toolformer; yang2024swe; wang2025openhands). However, an AI agent relies on more than its underlying model (sumers2023cognitive). Its behavior also depends on system instructions, context management, available tools, execution environments, persistent state, lifecycle controls, and safety mechanisms (packer2023memgpt; wu2023autogen; mei2024aios). As a result, the same model can behave differently when deployed through different system configurations. The agent harness connects the model to these surrounding components and determines what information reaches the model, which actions it can take, and how tool results, errors, and state changes are presented. Agent performance should therefore be understood as a property of the complete system, with the harness treated as a distinct and reliability-critical component (li2026agent; ning2026code).
Most existing agent benchmarks evaluate task completion through final answers, test results, or environment states (merrill2026terminal; deng2025swe; barres2025tau). These measures capture the combined effects of the model and its harness, but provide limited insight into whether specific harness mechanisms function reliably. As illustrated in Figure 1, task success may conceal lost context, misleading tool results, or lifecycle violations, while task failure can occur despite faithful harness execution. Even with the model held fixed, outcome-level comparisons alone cannot identify which harness behaviors account for the observed differences (barke2026agentrx; liu2026auditing). Recent studies have begun to examine harness configuration effects and safety, motivating complementary evaluation of individual harness mechanisms (yao2026harness; bai2026harnessrisk). Such evaluation requires tasks that exercise explicit harness obligations, evidence that reveals whether those obligations were fulfilled, and separate assessments of harness behavior and task outcomes.
Therefore, we introduce TraceTrial-Bench, a mechanism-oriented benchmark that treats the native agent harness as the system under test. It assesses harness behavior through auditable execution traces and external environment states. Building on an existing harness taxonomy (li2026agent), we organize reliability into seven components: context, execution, governance, lifecycle, observability, tools, and verification. We construct 95 tasks that exercise specific harness mechanisms through practical workflows, pairing explicit behavioral requirements with agent deliverables and executable or state-based ground truth. Cross-harness adapters preserve common task objectives and evaluation criteria while retaining each harness’s native interfaces and execution behavior. Evaluating the same model–task combinations across harnesses provides a basis for comparing their overall reliability and identifying weaknesses in individual components.
Specifically, the Trajectory Tracing (TT) module reconstructs native execution records in a shared Trace Intermediate Representation (Trace IR) while preserving their provenance. A Multi-source Evidence Acquisition (MEA) module combines these records with workspace artifacts and authoritative environment state to assemble criterion-specific evidence. After apparatus integrity checks, the two-layer evaluation framework separately assesses agent task performance and harness reliability. The Failure Attribution (FA) module then connects failed harness and agent criteria through predefined mechanism chains, with further evidence review required to distinguish activated candidate links from validated failure propagation. Across four harnesses, nine models, and 95 tasks, we evaluate 3,420 selected executions. Task success and harness-criterion satisfaction yield different harness rankings, and 31.1% of runs achieve task success despite failing at least one harness criterion. These findings show how separate assessments of task outcomes and harness behavior expose reliability differences that outcome-only evaluation can overlook.
Our contributions are summarized as follows.
- •
We construct TraceTrial-Bench, a 95-task benchmark covering seven reliability components while preserving native harness behavior in cross-harness comparisons.
- •
We develop a two-layer evaluation framework combining TT, MEA, and Trace IR to separately assess agent performance and harness reliability.
- •
We introduce failure attribution through explicit mechanism chains, distinguishing candidate links from failure propagation validated through evidence review.
- •
We evaluate four harnesses and nine models across 3,420 selected executions and provide tasks, configurations, traces, and verdicts for reproducible analysis.
A modern agent combines a model’s decisions with a harness that manages repeated interaction with tools and the environment (wei2026agentic; zhong2026ai). We use the abstraction
The model interprets available information and selects actions. The harness constructs context, exposes tool interfaces, transports calls and results, maintains persistent state, and enforces execution and permission controls. Tool calls, workspace changes, and output artifacts record the effects of this interaction. Task performance therefore depends on both model decisions and the way those decisions are supported by the harness.
A scaffold usually describes prompts, workflows, and action strategies built around the model, while a runtime supplies processes, file systems, and computing resources. Our harness boundary includes their orchestration and control functions. External tool implementations, task environments, output artifacts, evaluators, and measurement apparatus remain outside that boundary. This separation is necessary when deciding whether an observation concerns a harness obligation, an Agent decision, or a failure of the measurement process.
Harness functions affect several parts of an execution. Message selection, ordering, truncation, compaction, and session state determine which information remains available to the model (ye2025agentfold; zhang2026agentic). Tool inventories, parameter schemas, and routing determine the action interface (hasan2026model). Execution and lifecycle controls communicate command outcomes, manage long-running work, and preserve continuity across sessions and delegated tasks (ma2026longhorizon). Permissions and safety policies constrain the resulting actions (buhler2026agentbound).
Harness reliability concerns faithful information delivery and execution semantics. It does not guarantee task success: a model can make an incorrect decision after receiving accurate information. Conversely, a correct final artifact can coexist with an incomplete result channel, a lost state transition, or a violated interaction requirement. Evaluating only the final deliverable would combine these different situations into a single outcome.
TraceTrial-Bench therefore assigns separate criteria to Agent outcomes and Harness obligations. The Agent layer checks required actions, task compliance, and final deliverables against authoritative state. The Harness layer checks whether the native system fulfilled the information and execution obligations exercised by the task. The seven-component taxonomy in Section 3.2.1 translates these responsibilities into observable properties.
An external result, a model-facing tool return, a native session record, and a normalized event are related observations, but they need not contain the same information. Environment state establishes what occurred. Changed artifacts identify the persisted deliverable, and native model-facing records establish what the model could observe. Provider-request evidence supports only the captured structured tool declarations, not uncaptured request bodies. Evidence from one boundary cannot automatically substitute for evidence from another.
We distinguish four levels of claim. A criterion verdict records satisfaction under the selected evidence. Confirming a Harness defect additionally requires reconciliation with the authoritative sources for that criterion. An activated candidate link records failed endpoints and a matching predeclared condition. Validating propagation further requires observable intermediate distortion, supported event order, and consideration of competing explanations. Apparatus failure is a measurement limitation rather than a Harness defect. These distinctions govern the scoring and attribution protocol developed next.

TraceTrial-Bench evaluates an agent harness as a system, rather than treating it as a transparent wrapper around a model (Figure 2). The benchmark asks three distinct questions for every admitted run: (i) did the agent produce the required artifacts and actions, (ii) did the native harness preserve the information, execution semantics, and lifecycle behavior required by the task, and (iii) is an observed agent-side failure consistent with a predeclared propagation mechanism from a Harness-side criterion failure? The third question is addressed by automatically activating criterion-level candidate links when the corresponding Harness and Agent criteria both fail and the predeclared activation conditions are satisfied.
This chapter describes the implemented measurement pipeline for the released runs. It combines apparatus admission, layer-specific Agent and Harness scoring, provenance-preserving trace reconstruction, deterministic criterion-specific evidence selection, and criterion-level candidate-mechanism linking. Run-level outputs summarize criterion verdicts and automatically activated candidate links. These outputs support evidence-based failure analysis, while confirming Harness defects or failure propagation requires additional validation beyond automated scoring.
The system under test (SUT) is the native harness, which manages model interactions, tool coordination, lifecycle behavior, and permissions. The model, task, environment, and resource budgets are controlled inputs. The evaluator and the capture machinery are measurement apparatus. Apparatus failures are therefore not counted as harness defects.
We capitalize Harness layer and Agent layer when referring to the two score sheets, and use Judge for the configured semantic grader. We distinguish four claim levels. A criterion verdict records whether the selected evidence satisfies a declared scoring condition. A confirmed Harness defect additionally reconciles a failed Harness criterion with the question-specific authoritative source. An activated candidate mechanism link records that a predeclared Harness–Agent endpoint pair and its activation condition match the run. A validated propagation claim additionally requires confirmation of both endpoint verdicts and manual review of event order, an observable intermediate distortion, and plausible competing explanations. This hierarchy keeps operational scores and propagation claims auditable without treating an internal runtime label as a causal conclusion.
For harness , model , task , and execution instance , one run is defined as the ordered record
where is the normalized event sequence, is the workspace change relative to the frozen baseline, is the apparatus-admission state, and are criterion verdicts for the Harness and Agent layers, and is the set of activated candidate mechanism links. The index distinguishes execution instances; the reported population retains one selected execution per cell. Run identity additionally binds the task source, resolved model and harness configuration, container image, execution-instance identifier, archive manifest, and artifact digests.
A nominal “tool result” may have several non-equivalent representations: the tool or process produces an external result; the harness may transform it; the model receives a model-facing payload; a native session archive records some representation; and the evaluator observes a normalized event. TraceTrial- Bench consequently uses question-specific authorities. Environment or simulator state is authoritative for what actually happened, changed artifacts are authoritative for final persisted artifact state, provider-request evidence is authoritative only for the structured tool declarations it retained, and a native model-facing result is authoritative for what the model could observe.
The implementation has two scored layers after apparatus admission. The Agent layer measures task actions, workspace state, and deliverables, whereas the Harness layer targets native harness behavior using trajectory and probe evidence. The two verdict vectors remain distinct; the released protocol contains one explicitly outcome-conditioned applicability state, described in Table 4. Container lifecycle, archive integrity, trace scoreability, probe integrity, and private-oracle availability are verified before semantic scoring is admitted. Apparatus admission is not a third score and cannot compensate for either scored layer. Figure 3 shows the boundary and the resulting dataflow.

The formal evaluation organizes Harness reliability into seven top-level dimensions: Context (C), Execution (E), Governance (G), Lifecycle (L), Observability (O), Tools (T), and Verification (V) (li2026agent). The dimensions are defined by the Harness obligation under test rather than by the application scenario in which it is exercised. Figure 4 shows the property distribution (left) and summarizes the scope of each dimension and its task coverage in the 95-task evaluation population (right).
Cross-cutting behaviors are assigned according to the property being tested. For example, state isolation is evaluated under Context when the question is whether information crosses a session boundary, whereas child-agent completion is evaluated under Lifecycle when the question concerns creation, delivery, or termination. A mechanism is included only when its trigger, expected behavior, relevant observation boundary, and verdict conditions can be specified before execution. Coverage is then tracked separately for task assignment, native capability availability, mechanism activation, and evidence sufficiency. Integrity of the measurement apparatus is assessed by the admission gate and is therefore outside the seven-dimension taxonomy.

Each task starts from a taxonomy subdimension and identifies the native mechanism, the property under test, the model-visible consequence, and an external truth anchor. The scenario then exercises that mechanism through ordinary domain work. Each task pairs Harness-layer criteria with Agent-layer deliverables and uses deterministic state or artifact checks wherever an oracle is available.
A task package fixes the prompt or turn sequence, initial workspace, allowed tools, budgets, expected outputs, deterministic verifier, two score sheets, and optional simulator or execution/security probes. Private simulator state and persisted baseline snapshots remain outside the Agent’s writable workspace. Review checks prompt solvability, mechanism reachability within budget, verifier agreement with task truth, hidden leakage, and equivalent domain semantics across eligible harnesses. The resulting 95-task population is the formal evaluation set.
The release includes 46 single-turn, 45 fixed multi-turn, and 4 simulator-driven tasks. Task triggers include oversized outputs requiring recovery, nonzero exits paired with success-shaped artifacts, pending jobs, facts crossing session boundaries, and private values available only through an interaction channel. These conditions make the obligation observable while retaining a practical task and an independent truth anchor.
| Contract element | Fixed before execution | Evaluation role |
| Task and pressure | Prompt, fixtures, mechanism trigger, and resource limits | Exercise a declared native behavior within a realistic task. |
| Agent score sheet | Required actions and final deliverables | Check task completion from artifacts and authoritative state. |
| Harness score sheet | Native obligation, observation boundary, and evidence selector | Check faithful information delivery and execution behavior. |
| Oracle and provenance | Private state, workspace baseline, and run identity | Separate environment truth from model-facing claims. |
View original table

The release evaluates Codex, Claude Code, OpenClaw, and DeepSeek Harness through source-specific adapters. The runner freezes the task revision, harness adapter, requested and resolved model, reasoning setting, timeout, container image, judge model, and resource budgets. Each adapter launches the native harness and translates its observable records without replacing native prompt construction, tool transport, context policy, permissions, or session behavior. The task contract and oracle remain fixed while each harness retains its native execution strategy.
Semantic equivalence permits representation normalization but prohibits changes that introduce a capability, strengthen model-visible evidence, or alter task pass/fail conditions. The release manifest records the selected population and provenance of every run. Execution status, trace completeness, evaluation status, score, and attribution remain separate fields.
Coverage is tracked separately for task assignment, native capability availability, mechanism activation, and evidence sufficiency. A task can be present in the manifest without every selected execution exercising its target path. An unavailable named tool is not automatically a defect if the native harness supplies an equivalent usable path. If an adapter cannot preserve the task’s domain semantics or required evidence, the corresponding comparison is non-comparable under the prospective protocol. The current experiment’s full-grid inclusion policy is stated separately in Section 4.3.
Runs execute in task-scoped containers with a fixed container-internal workspace. The runner initializes a frozen task state, captures a private workspace baseline, and provisions deterministic task tools or stateful simulator services when declared. Task metadata controls user turns, tool calls, model calls, wall time, process containment, and other relevant resource bounds. The resolved configuration records the effective values.
The measurement apparatus is isolated from the Agent’s writable output surface. Runner-owned lifecycle records, archive manifests, provider-request metadata, private simulator ledgers, baselines, and execution/security probes carry explicit provenance and digest bindings. The release manifest serves as the authoritative index connecting task, configuration, run identity, evidence, and checksums.
Native Harnesses expose different observability interfaces, so trace acquisition is implemented through source-specific adapters. The Codex adapter reads its JSON event stream. The Claude Code adapter combines stream-json output with the session record. The OpenClaw adapter reads local or gateway-backed JSON output together with session JSONL. The DeepSeek Harness adapter consumes its persistent JSON-RPC notification stream. Despite these interface differences, the archival policy is uniform. When a native session or notification archive is available, the runner stores a redacted copy and its digest in the run archive. Valid records that cannot be normalized are preserved as provenance-tagged raw stdout or stderr events rather than discarded.
To support comparison across Harnesses, the adapters map native observations to a common event schema while retaining their source records. The resulting archive is a JSON array ordered by a contiguous seq index. Each event has a common envelope comprising schema_version, seq, timestamp, run_id, and event_type. Optional type-specific fields are populated only when the native source exposes them. For tool interactions, tool_call records the requested action and tool_result records its correlated return. When available, the return preserves typed error status, integer exit code, duration, truncation status, and omitted size. The parsed source record remains in raw_event, allowing the normalization to be audited against the native observation.
| Family | Representative event types | Principal normalized content |
| Lifecycle | run_started, run_finished, run_failed | Run identity, native session, exit state, timeout, and trace-completeness boundary. |
| Model surface | model_input, tool_inventory, assistant_message, assistant_delta | Messages or declarations observed at a supported request boundary, assistant content, model identity, and finish reason. |
| Action/ observation | tool | Correlated call ID, tool name, arguments, model-facing result content, error/status fields, timing, and the native call/result record. |
| Stateful control | context_compaction, subagent_lifecycle, policy_event | Compaction boundary, parent/child identity, completion delivery, approval, or policy transitions when exposed natively. |
| Accounting/ archive | token_usage, native_session_archive, raw_stdout, raw_stderr | Usage, archive provenance and digest, or raw material that could not be normalized safely. |
View original table

Reliable reconstruction requires distinguishing event linkage from event order. TraceTrial-Bench therefore associates each tool result with its call using the Harness’s native call identifier whenever one is available. Ambiguous observations—including unmatched, delayed, and duplicate records—remain explicitly unlinked rather than being paired heuristically. In multi-agent runs, principal and parent-principal identifiers record the acting agent and its immediate lineage, while native session and turn identifiers retain boundaries exported by the Harness. The tracer organizes events into a unified sequence for consistent analysis while retaining native timestamps and the original ordering within each source. Together, these fields support analysis of execution lineage and concurrent interleavings when the corresponding native metadata is available.
Claims about tool availability should be grounded in the interface submitted at the provider boundary rather than inferred from static Harness configuration. The runner-side recorder therefore inspects each provider request transiently and extracts structured tools or functions declarations. The archive retains normalized declaration metadata—names, descriptions, input schemas, request order, path, upstream status, timing, and usage—but excludes full request bodies and authorization material. A captured inventory is treated as authoritative for a request only when the request succeeds and the declaration channel is present, structurally valid, and complete. The resulting record establishes the structured tool surface submitted by the Harness at the captured request boundary.
Figure 5 illustrates how one semantic action is represented at several boundaries. The apparatus may know that the external process timed out while the model-facing result omits that fact. Retaining both observations is precisely what makes a harness-fidelity criterion possible.

The full trace is too large and too heterogeneous to place in every semantic Judge call. TraceTrial-Bench therefore separates archival evidence from criterion evidence. Archival evidence is retained for audit. A criterion receives a bounded packet produced by a declared selector in its score sheet.
Table 3 summarizes the implemented sources. Authority is claim-specific: external state establishes what occurred, model-facing records establish what was delivered, and correlated observations support fidelity comparisons across the two boundaries.
| Source | Collected by | Primary supported claim | Corroborating source for |
| Simulator ledger and final state | Runner-owned private service | Exact requests, issued values, irreversible state, and oracle truth | Model-visible presentation of the corresponding result |
| Workspace baseline and changed artifacts | Persisted scoring inputs and post-run workspace | Delivered file existence, structure, content, and unauthorized changes | Trajectory and tool evidence explaining their production |
| Native normalized trajectory | Harness-specific adapter | Model-facing calls/results when the native source exposes them, lifecycle, actor lineage, and final messages | External process or service truth |
| Provider-request evidence | Runner-side recorder | Successful structured tool declarations, request status, timing, and usage | Native delivery and subsequent environment effects |
| Execution/security probes | Runner-owned post-tool observers | Process disposition, timeout, path, approval, and actor observations independent of prose reports | Model visibility through a correlated native result |
| Agent claims | Final messages and output artifacts | What the agent asserted or delivered | Harness behavior and external truth through independent evidence |
View original table

Every semantic rubric declares eligible event types, fields, literal matching conditions, and a maximum number of returned records. The finder records the matched fields and keywords, making the retrieval contract deterministic and inspectable. Agent rubrics select changed artifacts relative to the persisted baseline and may add supporting trajectory records. Harness rubrics select trajectory and probe evidence, with completed Agent verdicts supplied separately as downstream context. Digest-validated execution and security probes carry an explicit provenance tag, so apparatus observations remain distinguishable from native harness events.
Short strings are returned directly, while longer strings retain fixed boundary segments and a bounded number of keyword-centered windows, including windows around common reduction markers. Large collections, notably tool catalogs, retain complete matching entries and append an explicit reduction record. The packet reports scanned, matched, and returned counts and a truncation flag. The archived trace and native evidence remain authoritative for manual audit and replay. Global bounds are fixed by the evaluated source revision, and each criterion’s return limit is fixed by its archived score sheet. The judge model cannot alter either during evaluation.

Event and summary paths must resolve to regular files inside the run’s archived artifact tree and be covered by the archive manifest. Native archives and probe evidence are digest-bound. Task baselines are copied into a private scoring-input area and checked before artifact comparison. Known credentials are redacted recursively by the event writer, provider request bodies are not persisted, and authorization headers are excluded. Together these controls provide software-level path containment, provenance binding, and secret minimization under the benchmark release policy.
A run is scoreable only when its result, resolved configuration, task, model, and normalized harness identity agree. Lifecycle and cleanup records must be complete, and the trace and summary must be covered by the archive manifest. All task-declared baselines, probes, budgets, and private-oracle records must also pass their integrity checks. A structured failed trace is admissible only for a declared task in which the observed lifecycle failure is itself the target property. Execution, evaluation, and infrastructure states remain separate in the run record. Admission establishes structural integrity and source provenance. Criterion evaluation then records selector coverage and the exact evidence presented for judgment.
Evaluation distinguishes criteria that can be decided by a task-specific verifier from those that require semantic interpretation. Each task therefore defines separate Harness- and Agent-layer score sheets, and designates every criterion as either a deterministic rule or a semantic rubric. Before any Judge call, the deterministic outputs are checked against the declared criterion identifiers and fixed. This preserves objective task checks while restricting semantic judgment to criteria for which a deterministic oracle is not available.
Semantic criteria are evaluated individually from their criterion-specific evidence packets. Agent rubrics are evaluated first, using changed artifacts as primary evidence. Once the complete Agent-layer result has been fixed, Harness rubrics are evaluated from trajectory and probe evidence. Agent verdicts are provided only as downstream context: they may describe the impact observed in the run, but they are not evidence that a Harness criterion failed. For every semantic criterion, the archive retains the matched packet together with the Judge prompt, response, parsed score, and rationale. If a required selector returns no evidence, the current implementation assigns zero and explicitly records the empty selection. This indicates that satisfaction was not established under the declared evidence contract and does not independently prove a Harness defect.
| State | Scope | Judge-side meaning | Final binary treatment |
| 0 Unsupported | Agent or Harness | The criterion is violated, or the selected evidence does not establish satisfaction. | Finalize as fail (0). |
| 1 Supported | Agent or Harness | The selected evidence establishes that the criterion is satisfied. | Finalize as pass (1). |
| 2 Not exercised | Harness rubric only | The native mechanism is absent, or the run did not reach the relevant execution path. | Resolve from the Agent outcome: pass when all Agent criteria pass, and fail otherwise; retain state 2. |
| 3 Malfunction | Harness rubric only | The mechanism exists and was reached, but the Harness itself malfunctioned. | Finalize as Harness fail (0), independent of the Agent outcome; retain state 3. |
View original table

The two score sheets are distinct but not statistically independent because state 2 depends on the completed Agent outcome. Corpus-level reporting uses the finalized binary verdicts. Intermediate diagnostic codes retained in individual rubric artifacts are not analyzed as separate experimental outcome categories.
For layer with finalized items and passed items, the reported score is
Items are unweighted within a layer. A run passes the combined evaluator only at , but the continuous score, item verdicts, and attribution are all retained. Figure 7 summarizes the actual order.
Every released run is subjected to automated checks of run identity, archive integrity, and admission status. Corpus-level analysis reports criterion verdicts and automatically activated candidate links from the archived evidence. These are operational outputs: an activated link records agreement with its predeclared endpoints and activation condition, but does not by itself establish that the proposed mechanism propagated a failure.

Attribution is applied only after apparatus admission and both verdict vectors have been finalized. It separates two questions that a single run-level label cannot answer reliably: whether the Harness layer contains a supported failure, and whether an Agent-layer failure follows a mechanism declared for that task. Keeping these questions separate prevents failure co-occurrence from being reported as propagation.
Attribution begins with the criterion-level verdicts, but not every Harness-layer zero represents a failure attributable to the Harness. In some runs, an Agent action makes the target property unobservable. For example, a wrapper command may replace the exit status of the command under test with its own exit status. Let and denote the raw sets of zero-scored Harness and Agent criteria, respectively, and let denote the Harness criteria affected by such an observation bypass. We define the Harness-side failure set used for attribution as
Here, denotes set difference: a criterion belongs to if and only if it is zero-scored at the Harness layer and is not marked as bypass-affected. Thus, is obtained by removing every criterion in from the raw zero set . Bypassed criteria remain visible as zeros in the score report, preserving the original evaluation outcome, but they do not contribute to . Membership in is itself only an operational Harness-layer result, not a confirmed defect. The empirical results in Section 5 use the raw set without this adjustment, as specified in Section 4.3. The adjusted set and stored runtime labels remain available as separate implementation outputs. A criterion enters the confirmed set only after its verdict has been reconciled with the evidence source appropriate to that criterion.
Before execution, a task may declare that failure of one Harness criterion can affect a particular Agent criterion through a specified intermediate mechanism. We represent such a declaration as
where and are the two criterion endpoints and describes the intervening information, action, or state distortion. The implementation also stores a qualitative descriptor for review prioritization, which is not interpreted as a calibrated probability. Task-specific declarations define the available endpoint pairs. Some tasks assess faithful reporting of model-visible information and do not declare a Harness-to-Agent endpoint pair. The experimental analysis counts activated pairs stored with final evaluations. It does not infer the size of the full candidate catalog from the subset of links that happened to activate.
At runtime, the task declarations and applicable compatibility rules form the candidate pool . For a declared activation condition , the implementation constructs
Activation is computed from the raw Harness set before bypass adjustment, as in the released implementation. It establishes that the declared endpoints and activation condition are present in the run, but does not establish that the intermediate mechanism actually propagated the failure.
A candidate link is promoted to the validated set only after manual review confirms both endpoint verdicts, reconciles the Harness endpoint with its criterion-specific evidence source, and finds an observable intermediate distortion in an event order consistent with the declared mechanism. The review also considers provenance and plausible competing explanations. Hence the Harness endpoint of every validated link belongs to , and only supports a validated propagation claim.
The Agent failures covered by activated candidate links are
TraceTrial-Bench reports independently and partitions into linked and unlinked subsets. These counts are recoverable from the serialized verdicts, bypass annotations, and candidate links, allowing a run to contain both a Harness-side zero and an unrelated Agent-side zero. Table 5 presents seven ordered decision rules that yield six distinct stored labels, with two rules producing agent_caused.
| Order | First matching run state | Stored label | Operational meaning |
| 1 | Apparatus admission fails (). | inconclusive_device | Exclude the run from Harness–Agent attribution. |
| 2 | Either layer has no measured pass/fail criterion. | inconclusive_unmeasured | At least one evaluation layer is unmeasured. |
| 3 | Harness zero and outcome issue, with . | harness_caused | A candidate Harness-to-Agent mechanism is activated; validation is reported separately through . |
| 4 | Harness zero and outcome issue, with . | agent_caused | The outcome issue is unlinked; concurrent Harness zeros remain recorded on the Harness axis. |
| 5 | Harness zero, but all Agent criteria pass and no bypass is recorded. | harness_defect_absorbed | The Agent delivery is complete despite an operational Harness zero; determines defect confirmation. |
| 6 | No Harness zero remains, but an outcome issue is present. | agent_caused | The Agent-side zero or measurement bypass is assigned to the Agent axis. |
| 7 | Neither a Harness zero nor an outcome issue is present. | clean | No measured criterion is zero and no bypass is recorded. |
View original table

The stored strings are retained for compatibility with the released runtime record and are interpreted conservatively in the paper. In particular, agent_caused does not assert that the Harness is defect-free when is non-empty, and harness_caused denotes candidate-link activation rather than a causal conclusion. Confirmed defect absorption requires the relevant Harness endpoint to belong to , and validated propagation requires .
For each run that passes admission and completes scoring, the archive preserves three classes of records: (i) configuration and provenance, including the resolved configuration, run result, and lifecycle and archive manifests; (ii) execution evidence, including normalized and native traces, provider-request metadata, applicable simulator, budget, and probe evidence, workspace changes, and persisted scoring inputs; and (iii) evaluation artifacts, including verifier outputs, criterion-specific evidence and Judge records, and the combined layered score. The release manifest associates each selected run with its task and resolved configuration and records the corresponding artifact paths and checksums. The serialized result contains the apparatus state, , , , and bypass annotations; together, these fields determine the two-axis summary without additional heuristic inference.
Let , , and denote the reporting populations for Agent, Harness, and attribution metrics. In this study all three are the complete selected archive, as specified in Section 4.3. Agent-level performance is summarized by the task success rate
where a run is successful only if it contains no zero-scored Agent criterion. Harness-level performance is summarized by the micro- and macro-averaged criterion pass rates
The micro average assigns equal weight to each finalized Harness criterion, whereas the macro average assigns equal weight to each run. Because is derived from finalized verdicts, both quantities incorporate the prescribed outcome-conditioned resolution of raw state 2 in Table 4. They therefore measure operational Harness-criterion satisfaction and should not be interpreted as confirmed- defect rates.
For , we report three complementary proportions: (i) runs with at least one activated candidate link (); (ii) runs with at least one raw Harness-layer zero but no Agent-layer zero ( and ); and (iii) runs containing at least one unlinked Agent zero in . Measurement-quality records—including admission outcomes, trace completeness, and selector match counts—remain separate from performance aggregates. The current analysis retains all finalized cells and does not estimate corpus-level selector recall, Judge agreement, or candidate-link precision.
We compare four native agent Harnesses over a fully populated matrix of 95 tasks and nine model configurations. Each cell contains one selected execution and its final archived evaluation. The experiment asks whether outcome quality and Harness-criterion satisfaction vary together when the model and task population are held fixed. This section defines the data freeze and analysis protocol. Section 5 reports the results.
The evaluated Harnesses are Claude Code, Codex, DeepSeek Harness, and OpenClaw. Source-specific adapters provision the task and archive native evidence while retaining each Harness’s execution and tool-use interfaces. The nine model groups are DeepSeek-V4-Pro, Gemini 3.7 Flash, GLM-5.3, GPT-5.6-Sol, Grok-4.6, HY3, Kimi K3, Opus 5, and Qwen3.8-Max. Reasoning settings follow the archived configurations. Original model identifiers, resolved configurations, and invocation fields remain in the run records, while the nine names above serve as the reporting groups used throughout the results.
The analysis covers 95 tasks, each evaluated across all 36 model–Harness combinations. Taxonomy assignments are recovered from the task paths recorded with the runs and normalized as described in Appendix : the four legacy ask-user tasks are assigned to Tools, while the task measuring truthful timeout and result handling is classified under Execution. The resulting population contains 15 Context, 27 Execution, 9 Governance, 19 Lifecycle, 7 Observability, 17 Tools, and 1 Verification task, covering 40 mechanism-level properties. The generated task ledger records the exact membership and metadata sources used in this analysis.
The data freeze contains
There are 855 cells per Harness and 380 per model. The unit of analysis is the root task–model–Harness run directory in outputs/traces. Nested result.json files emitted by tools or simulators are not additional experimental runs. Every selected cell has a final combined_score.json, and no model block is pending and no missing score is imputed. The archive contains selected outcomes, including replacement executions from earlier recovery, rather than independent repetitions per cell. We therefore describe the observed matrix and do not estimate within-cell repeatability.
Runs execute in Docker with the task workspace mounted at /workspace. Resolved configurations and container records retain the Harness invocation and image identity. Task packages define the prompt or turn sequence, fixture, tools, expected deliverables, verifier, and resource limits. The recorded effective wall-time limits span 120–5,400 seconds. The corresponding task definitions span 1–120 user-input turns and 5–300 task-tool calls. These are task-specific ceilings, not observed turn or call counts. The per-run resolved limit, rather than an example command or directory name, identifies the applicable execution budget.
Task scheduling and recovery conditions vary across the collected runs. The present analysis consequently compares finalized functional outcomes and criterion verdicts. It does not interpret duration differences as a controlled throughput experiment. Task-specific revisions and recovery runs also limit causal interpretations of a difference between Harnesses.
All 3,420 archived final evaluations use deepseek-v4-flash as the separate semantic Judge. The stored per-criterion output limits are 4,096 tokens in 1,966 evaluations, 8,192 in 1,452, and 32,000 in two. Thus Judge identity is fixed, while the archived scoring budget is not identical across all cells. We preserve these final verdicts and report their configuration rather than treating the collection as a uniform Judge-budget experiment.
Agent- and Harness-layer items, their binary verdicts, and activated candidate links are read from artifacts/llm_judge/combined_score.json. The root result.json supplies execution identity and historical metadata, but its score field is not the final-score authority. Execution status, evaluation status, and final criterion verdicts remain separate records. We verify that every selected combined score has the expected task identity, both nonempty layer verdict vectors, binary item values, and a total consistent with the 50/50 formula in Equation 3.
All 3,420 final evaluations are included exactly once using their stored criterion values. Execution-state flags and auxiliary annotations do not affect inclusion or scores.
For run , let and be the passed and total Agent criteria, and define and analogously. Agent task success requires . Agent Score and Harness Macro are the means of the per-run fractions and . Harness Micro pools passed and total criteria across runs: . All reported rates are multiplied by 100. The Layered score averages the two per-run layer scores with equal weight. A combined pass requires every criterion in both layers to pass; it must not be confused with Agent-only task success.
Every Harness is evaluated on the same 855 model–task cells. Fixed-model comparisons use all 95 tasks for each Harness; model averages use all four Harnesses and 95 tasks. Dimension-level summaries count a task once under its normalized primary dimension. Since criterion counts vary by task, we report both micro and macro Harness rates and make the task population explicit.
The empirical contingency uses the raw sets and . All zero-scored items contribute normally, and auxiliary bypass annotations do not subtract items from . This is the reporting convention for the current experiments, distinct from the optional adjusted Harness set defined in Section 3.5. A jointly clean run has . An operational absorption state has and . Crossing the empty/nonempty status of the two sets yields four mutually exclusive states. Their proportions use all 855 runs per Harness and sum to 100%. A shortfall denotes at least one failed criterion, not a runtime execution error.
Candidate-link counts come from the stored endpoint pairs after final scoring. We check that each stored link connects a failed raw Harness item to a failed Agent item. A run can contain both linked and unlinked Agent failures, so these two evidence categories can overlap. Neither co-occurring zeros nor a stored link establishes a confirmed Harness defect or causal propagation. Runtime class labels are retained in the analysis ledger, but the contingency is reconstructed directly from item verdicts to maintain the declared raw-score convention.
For primary dimension , let contain the runs with at least one failed criterion in both layers, and let contain those with at least one stored candidate link. We report . Each run contributes once regardless of its number of failed items or links. The pooled rate is , not an unweighted mean of the dimension rates. This statistic measures recorded link activation among joint failures.
Resource columns report mean recorded usage per run: input, output, and total Tokens in thousands, and estimated Agent cost in USD. We apply the same model-specific prices published on the providers’ official websites across all Harnesses. Input cost partitions ordinary input, cache reads, and cache writes using the available counters. Unspecified cache components use the ordinary input rate. Output cost includes recorded reasoning Tokens without counting them again. Total cost is input plus output cost, averaged over runs with valid recorded usage. These are standardized Token-cost estimates, not historical invoices. Judge calls, discarded executions, payment fees, storage, and tool charges are outside their scope.
Outcome aggregates can be recomputed from the final score files, their task and model identities, and each task’s primary component. Native traces, resolved configurations, task packages, and scoring evidence support inspection of individual verdicts. Resource estimates additionally require recorded usage and the frozen price catalog. The public project repository is linked on the title page.
Recomputation uses the archived final verdicts without rerunning the Agent or introducing a new retrospective admission filter. Identity checks, nonempty binary verdict vectors, and agreement with the 50/50 score establish the inputs to aggregation.
Section 5 reports the complete selected population, while Appendices – document the task, adapter, evidence, and evaluation contracts. Task-level heatmaps and paired trajectory studies are provided in Appendices and .
The full matrix separates three quantities that an outcome-only evaluation would combine: Agent task success, Harness-criterion satisfaction, and the activation of candidate links between failed criteria. All comparisons below use the same 95 tasks, nine model groups, and four Harnesses. Scores are taken from final archived verdicts under the inclusion policy in Section 4.3.
All 3,420 targeted cells have a final combined score, with nonempty binary verdict vectors for both layers. Each model–Harness block contains 95 runs; each Harness therefore contributes 855 and each model 380. Across the population, 14,979 of 20,016 Agent items pass (74.8%), compared with 19,242 of 28,188 Harness items (68.3%). The mean per-run scores are 72.9% for the Agent layer and 67.9% for the Harness layer, producing a mean 50/50 score of 70.4. These continuous scores differ substantially from all-criteria success. A total of 1,351 runs (39.5%) satisfy every Agent criterion, whereas only 286 (8.4%) satisfy every criterion in both layers.
Table 6 gives the primary harness comparison over all model–task cells per harness. Table 5.3 reports the complete numerical comparison, including all nine fixed-model blocks. Claude Code has the highest Agent task-success rate (44.0%) and Agent macro score (75.9%), as well as the highest combined score (73.5). OpenClaw has the highest Harness macro rate (72.0%), Harness micro rate (71.9%), and jointly clean rate (11.7%). Thus the Harness with the highest observed task success is not the one with the highest measured Harness-criterion satisfaction.
| Agent | Harness | |||||
| Harness | Pass | Score | Micro | Macro | Clean | Overall |
| Claude Code | 44.0 | 75.9 | 71.5 | 71.2 | 9.1 | 73.5 |
| Codex | 35.8 | 70.7 | 60.2 | 59.8 | 2.8 | 65.2 |
| DeepSeek Harness | 40.0 | 73.3 | 69.5 | 68.8 | 9.8 | 71.0 |
| OpenClaw | 38.2 | 71.7 | 71.9 | 72.0 | 11.7 | 71.8 |
| All harnesses | 39.5 | 72.9 | 68.3 | 67.9 | 8.4 | 70.4 |
View original table

The Harness macro range is 12.2 percentage points, from Codex at 59.8% to OpenClaw at 72.0%. The Agent task-success range is smaller: 8.2 points, from Codex at 35.8% to Claude Code at 44.0%. Claude Code and OpenClaw are close on Harness micro performance, differing by 0.4 points, despite their different Agent success rates. DeepSeek Harness lies between these systems and Codex on both the mean Harness rate (68.8%) and Agent task success (40.0%).
| Model Harness main results. Each fixed-model block evaluates 95 tasks per Harness. The aggregate pools nine models. Outcome columns are percentages: Pass requires all Agent criteria, Agent Score and Harness Macro average run-level fractions, Micro pools criteria. Clean requires both layers to pass, Link records candidate links, Abs. denotes Harness zeros without Agent zeros, Layered is the 50/50 mean. Resource columns average valid recorded usage: input, output, and total Tokens in thousands (k), and estimated Agent cost in USD at the frozen model-specific prices. Judge costs are excluded. Within each block, bold and underlining mark the highest and second-highest displayed outcomes, with ties sharing marks. Link, Abs., resources, and the All Harnesses row are unranked. | ||||||||||||
| Agent layer | Harness layer | Attribution evidence | Layered | Agent resources (mean/run) | ||||||||
| Harness | Pass | Score | Micro | Macro | Clean | Link | Abs. | Score | Input (k) | Output (k) | Total (k) | Est. cost ($) |
View original table
