Executive Summary
I investigated whether previous execution traces can safely identify which agent tasks need to be rerun after one tool implementation changes. The tempting rule is simple: if a task called the changed tool before, rerun it; otherwise, reuse its old result. This resembles dynamic regression-test selection, but an LLM agent can take different tool paths when the task and system are unchanged. A stored trace therefore records what happened once, not every tool the task may reach.
I ran a Phase 0 empirical study using four-trial public trajectories from the τ²-bench airline and telecom environments [1]. The study covered 50 airline tasks and 114 telecom tasks for each of two agents, Claude Opus 4.5 and GPT-5.2. Across the four identical trials, only 16.0% to 44.7% of tasks used exactly the same tool set, depending on model and domain. Between 22.4% and 35.3% of observed task-tool relationships appeared in only one to three of the four trials. Tool exposure was therefore meaningfully stochastic.
Using held-out trials, a selector based on one historical trace missed 4.5% to 10.0% of task-tool relationships later observed in the held-out runs. The risk was concentrated in a small number of optional lookup tools. For example, get_bills_for_customer had a 0.0% miss rate for Claude Opus 4.5 but 36.4% for GPT-5.2. Across 19 tools shared by both models, the mean absolute difference in miss rate was 10.7 percentage points. Tool risk was not a stable property that could be assigned once and reused across agents.
The proposed method contribution did not survive. A frequency-based selector using two traces improved Recall@10% over a one-trace identity baseline by only 0.8% to 9.0% relative. Taking the union of tools observed across repeated runs was usually worse under a fixed selection budget because it enlarged the candidate set without ranking it well. AgentAssay had also established that coverage from stored traces is a lower bound on achievable coverage [2]. I therefore could not honestly claim a new selector or a new problem class.
Main lesson. Historical traces are useful but incomplete evidence. The valuable result is the measurement of when and where trace-based selection misses dependencies, not a claim that I invented a better regression selector.
Figure 1. Percentage of tasks with identical tool sets across four trials for each model and domain. Tool exposure varies substantially even when the task and environment are unchanged.
Research Arc and Verification
Ideation and exploration
The initial idea was to adapt dynamic regression-test selection: reuse an old result when a task had not previously reached a changed tool. I first checked whether the proposed change class was real by inspecting source-history transitions in three Model Context Protocol reference servers. I then examined repeated public agent trajectories because a selector cannot be safe if a task's tool exposure is effectively fixed only in one observed run.
Understanding
The decisive question was not whether traces varied, but whether repeated traces produced a useful selection rule under a fixed budget. I therefore compared a one-trace identity baseline, two-trace union, two-trace frequency ranking, and random selection at the same 10% budget. The method claim would have survived only if frequency ranking made a substantial and reproducible improvement over the simple identity baseline.
Verification and red team
- The source-history claim was checked against concrete diffs rather than interface metadata alone.
- Historical and held-out trials were separated when measuring missed task-tool relationships, preventing the same run from both selecting and defining reachability.
- The selector was compared against random selection and the simpler one-trace identity baseline.
- I explicitly did not treat a missed tool exposure as proof of an outcome regression. No V0-to-V1 causal change experiment was run.
- Retail trajectories were excluded from the clean analysis because their outcome oracle relied heavily on an experimental language-model judge.
The record therefore supports a measurement of trace incompleteness and weak ranking headroom. It does not support a claim that historical traces cause downstream regressions or that frequency ranking is a useful general selector.
Motivation & Context
Tool-using agents are evaluated by running tasks that may involve multiple model turns, simulated users, stateful tool calls, environment execution, and outcome checking. When a single tool changes, rerunning the entire suite is the safest option, but it can be expensive.
Traditional dynamic regression-test selection often uses dependencies observed in previous executions. A test that did not touch changed code can sometimes be skipped. I wanted to know whether the same idea remains safe for an LLM agent, where the dependency between a task and a tool is partly chosen at runtime by a stochastic model.
The exact decision I studied was:
Input: task T, changed tool C, exact change ΔC, and old traces H_T
Output: RECHECK or REUSE
The dangerous error is REUSE when a new execution could reach the changed tool and produce an evaluation-relevant change.
This work connects to my broader interest in infrastructure for reliable production agents. The deeper systems question is how much operational evidence remains trustworthy after one component changes. This pilot tested one narrow evidence source: historical tool-call traces.
Hypotheses
H1: Contract-preserving tool changes are common enough to matter
Tool implementations often change while their name, description, and input schema remain fixed. Interface-only change datasets may miss this class.
Falsification condition: fewer than 5% of behavior-changing commits in a representative tool-server history are contract-preserving implementation changes.
H2: Task-to-tool exposure is stochastic
Repeated executions of the same task will not always expose the same tool set.
Falsification condition: almost all tasks and task-tool pairs are stable across four repeated runs.
H3: More historical traces reduce unsafe misses
Increasing the historical evidence budget from one trace to two or four traces should reduce the chance of missing a reachable task-tool relationship.
H4: Frequency-aware evidence materially improves selection
A selector using how often a task reaches a tool should meaningfully outperform a one-trace identity baseline under the same selection budget.
Falsification condition: improvement is too small to survive sampling noise or justify the added executions.
H5: Tool-level risk is stable across agents
Optional or high-variance tools might have similar historical miss rates across models, allowing a reusable risk table.
Falsification condition: miss rates vary substantially between agents for the same tools.
Methods & Experiments
Experiment 1: Is the proposed change class real?
Hypothesis tested: H1.
I examined 4,161 commits from the source histories of the official Model Context Protocol reference servers fetch, git, and time. I classified 185 relevant transitions and separated behavior-changing commits from linting, typing, packaging, and dependency-only changes using a pre-stated conservative rule.
A change counted as contract-preserving when tool behavior changed but the exposed tool name, description, and input schema remained unchanged.
Success criterion: at least 5% of behavior-changing commits meet this definition.
Sanity check: I inspected concrete diffs rather than inferring behavior only from metadata. One verified example, commit 1ac3c1da, changed the returned git_diff text while preserving its exposed interface.
Experiment 2: How stable is tool exposure?
Hypotheses tested: H2 and H5.
| Component | Setting |
|---|---|
| Benchmark | Public τ²-bench trajectories |
| Domains | Airline and telecom |
| Tasks | 50 airline and 114 telecom tasks per model |
| Agents | Claude Opus 4.5 and GPT-5.2 |
| User simulator | GPT-5.2 |
| Repetitions | Four trials per task |
| Seed | 300 |
| Main signals | Tool set per task, task-tool observation count, task outcome |
For each task, I compared the set of tools called across four runs. I also constructed task-tool pairs and counted whether each pair appeared in one, two, three, or all four trials.
The main baseline was exact tool-set agreement. This is deliberately stricter than final task success: two executions can both succeed while using different tools.
Experiment 3: How often does historical coverage miss a reachable dependency?
Hypothesis tested: H3.
I used trials 1 and 2 as historical selector evidence and trials 3 and 4 as held-out reachability evidence. A historical miss occurred when a task-tool pair was absent from the selected historical traces but appeared in a held-out execution.
This design reduces circularity because the same run is not used both to select and to define the reachable set. It still provides only a lower bound: a pair absent from all four observed runs may remain reachable in an unobserved run.
I measured historical miss at one and two observed runs. Values reported for four runs were Jeffreys-posterior estimates, not direct measurements. Four available trials cannot both provide four historical observations and an independent held-out ground truth.
Experiment 4: Does repeated evidence produce a better selector?
Hypothesis tested: H4.
I compared four selectors at a 10% task budget:
| Selector | Meaning |
|---|---|
| Random | Select tasks without trace information |
| Identity R1 | Prioritize tasks that used the candidate changed tool in one trace |
| Union R2 | Prioritize every task that used the tool in either of two traces |
| Frequency R2 | Rank tasks by how often the tool appeared across two traces |
The primary metric was pooled Recall@10% over candidate changed tools.
Success criterion: frequency evidence should provide a substantial, reproducible improvement over Identity R1.
Results
Contract-preserving changes were common
| Classification | Count | Rate |
|---|---|---|
| Raw behavior-changing commits | 43 of 74 | 58.1% |
| Conservative classification | 26 of 51 | 51.0% |
The change class passed the 5% existence gate. A metadata-only evolution benchmark would miss many of these changes because the exposed schema does not change.
Tool exposure varied across identical runs
| Agent and domain | Tasks | Mean pass rate | Identical tool set across four trials | Task-tool pairs seen in only 1 to 3 trials |
|---|---|---|---|---|
| Claude Opus 4.5, airline | 50 | 0.840 | 12/50, 24.0% | 63/224, 28.1% |
| Claude Opus 4.5, telecom | 114 | 0.923 | 51/114, 44.7% | 106/473, 22.4% |
| GPT-5.2, airline | 50 | 0.830 | 8/50, 16.0% | 90/255, 35.3% |
| GPT-5.2, telecom | 114 | 0.897 | 25/114, 21.9% | 136/556, 24.5% |
An earlier pilot reported mean exact tool-set agreement of 0.248. The public-trajectory replication gives the claim provenance while also showing that stability depends strongly on model and domain.
One historical trace missed reachable task-tool relationships
| Agent and domain | Held-out reachable pairs | Miss at R=1 | Miss at R=2 | Estimated miss at R=4 |
|---|---|---|---|---|
| Claude Opus 4.5, airline | 178 | 4.5% | 1.7% | 3.0% |
| Claude Opus 4.5, telecom | 425 | 6.4% | 2.8% | 2.0% |
| GPT-5.2, airline | 201 | 10.0% | 4.0% | 3.9% |
| GPT-5.2, telecom | 497 | 8.0% | 5.2% | 2.8% |
The direct R=1 to R=2 comparison supports H3: a second historical trace reduced observed misses in all four settings. The estimated R=4 column is not directly comparable and should not be treated as a measured monotonic continuation.
Risk was concentrated but model-dependent
| Tool | Domain | R=1 miss, Claude Opus 4.5 | R=1 miss, GPT-5.2 |
|---|---|---|---|
get_bills_for_customer | Telecom | 0.0% | 36.4% |
get_data_usage | Telecom | 31.9% | 13.0% |
get_flight_status | Airline | 14.3% | 33.3% |
search_onestop_flight | Airline | 7.1% | 31.2% |
transfer_to_human_agents | Both | 30.0% to 30.8% | 16.7% to 23.3% |
Across 19 shared tools, the mean absolute cross-model difference was 10.7 percentage points and the maximum was 36.4 points. H5 was not supported.
These are diagnostic high-variance examples, not random qualitative samples. The stored report did not preserve a random set of complete conversations, so I do not manufacture one here.
The proposed selector added little
| Agent and domain | Random | Identity R1 | Union R2 | Frequency R2 | Relative gain over R1 |
|---|---|---|---|---|---|
| Claude Opus 4.5, airline | 0.091 | 0.439 | 0.361 | 0.465 | 6.1% |
| Claude Opus 4.5, telecom | 0.078 | 0.409 | 0.372 | 0.420 | 2.7% |
| GPT-5.2, airline | 0.091 | 0.361 | 0.340 | 0.364 | 0.8% |
| GPT-5.2, telecom | 0.108 | 0.282 | 0.285 | 0.308 | 9.0% |
Union R2 was at or below Identity R1 in three of four settings. Frequency R2 helped, but the improvement was small and inconsistent. H4 was not supported strongly enough for a method paper.
Figure 2. Recall@10% for one-trace identity and two-trace frequency selectors. Repeated traces did not create a strong ranking method under a tight budget.
Analysis: Why It Failed (or was inconclusive)
The original project aimed to justify a new change-aware selector. That contribution failed for five concrete reasons.
- The core theoretical warning was already known. AgentAssay had already formalized stored trace coverage as a lower bound and stated that candidate-version regression testing is not trace-first compatible in general.
- The proposed improvement was too small. Frequency evidence improved Recall@10% by only 0.8% to 9.0% relative. This is not convincing headroom for a new method without a much larger study.
- Repeated coverage and budgeted ranking are different objectives. Unioning more traces reduces the chance of missing a dependency, but it also expands the selected set. Under a small budget, that can dilute the ranking and reduce recall.
- No V0 to V1 causal experiment was run. The study measured exposure misses, not actual post-change reward regressions. A missed tool exposure does not necessarily change the final outcome. The changed branch may not be triggered, the tool difference may be harmless, or the agent may recover.
- The outcome oracle was not uniformly trustworthy. Retail depended heavily on an experimental language-model judge. Twenty telecom tasks used
ACTIONas part of their reward basis, effectively treating one assumed action trajectory as uniquely correct. A cleaner objective pool contained 50 airline tasks and 94 telecom tasks.
Several alternative explanations remain. Variation may come partly from the simulated user rather than only the agent. The results may change with decoding settings or different model releases. Optional lookup tools may appear risky because their use is weakly constrained by the task wording, not because of a general property of lookup tools.
The negative result is still informative. It shows that adding more historical traces is not equivalent to producing a useful priority order, and that an observed path should not be treated as the task's specification.
Key Insight
Tasks and outcomes matter more than tool ordering
A tool-call sequence is one realization of an agent's behavior, not necessarily the task's correct answer. Two agents may call tools in different orders and still produce the same correct database state and required communication. Conversely, two traces may have similar tool sequences but produce different final states.
This became concrete during the oracle audit:
- Airline tasks could be evaluated through communication and database state.
- Ninety-four telecom tasks could be evaluated through environment assertions.
- Twenty telecom tasks also used an assumed action sequence, which risks penalizing valid alternative paths.
- Retail relied on an experimental natural-language judge and was not suitable for the clean first study.
The important distinction is therefore:
Task identity defines what must be achieved.
Outcome checks determine whether it was achieved.
Tool traces reveal one path taken to achieve it.
Some behaviors were close to deterministic: several tools had a 0% one-trace miss rate in both agents. Others were stochastic and highly model-dependent. The correct research object is not "the agent has one stable tool order." It is the distribution of possible paths for a task and whether a component change can alter an evaluated outcome.
What I Learned & Research Skill Demonstrated
- I converted a vague claim about agent stochasticity into measurable task-tool exposure and held-out miss rates.
- I distinguished a dependency observation from an outcome oracle.
- I used held-out trials to reduce circularity between selection evidence and ground truth.
- I audited the benchmark's reward basis instead of assuming every task had an objective oracle.
- I tested a proposed method against the strongest simple baseline and accepted that the improvement was too small.
- I corrected my own planning assumptions, including an overly pessimistic bound and an unsuitable mutation target.
- I learned to separate a useful empirical characterization from a novel method contribution.
Open Questions & Future Directions
- Propagation to outcomes: When a historical trace misses exposure to a changed tool branch, how often does the miss produce a measurable reward or state regression?
- Controlled V1 mutations: Apply realistic implementation-only changes to high-variance tools such as
get_data_usageand evaluate repeated V0 and V1 outcomes on the 144-task objective pool. - Source of stochasticity: Separate variation caused by the agent from variation caused by the simulated user.
- Path equivalence: Develop an outcome-preserving way to group distinct tool paths without treating one order as uniquely correct.
- Deployment evidence: Test whether production traces show the same concentration of risk in optional tools.
The original power calculation suggested 13 repetitions per arm for detecting a pass-rate drop of 0.50 from a 0.90 baseline with one-sided Fisher testing, alpha 0.05, and power 0.80. Smaller effects become expensive: 30 repetitions for a 0.30 drop, 56 for 0.20, and 89 for 0.15. These numbers should be recomputed after the exact V1 mutation and baseline pass rate are fixed.
Appendix
Definitions
| Term | Definition |
|---|---|
| Task-tool exposure | A task invokes a particular tool in an execution |
| Historical coverage | Tools observed in the stored runs for a task |
| Reachable pair | A task-tool pair observed in an independent held-out run |
| Historical miss | A reachable pair absent from the historical selector evidence |
| R | Number of historical runs available for a task |
| Identity selector | Select tasks that used the changed tool in one stored trace |
| Union selector | Select tasks that used the tool in any stored trace |
| Frequency selector | Rank tasks by how frequently the tool appeared in stored traces |
Source artifacts recorded in the Phase 0 report
bound.mdandbound.json: analytic bounds, exact Fisher power, and simulated selector surfaceschange_class.mdandmining_official.json: MCP source-history miningsystem.mdandsystem_manifest.json: benchmark freeze, task counts, tool inventory, and oracle analysisexposure.json: per-task per-tool counts across four trialsselect_eval.json: held-out miss and Recall@K results
References
- V. Barres, H. Dong, S. Ray, X. Si, and K. Narasimhan, “τ²-Bench: Evaluating Conversational Agents in a Dual-Control Environment,” arXiv:2506.07982, 2025. Online. Available: https://arxiv.org/abs/2506.07982
- V. P. Bhardwaj, “AgentAssay: Token-Efficient Regression Testing for Non-Deterministic AI Agent Workflows,” arXiv:2603.02601, 2026. Online. Available: https://arxiv.org/abs/2603.02601