Repository navigation
Add pinned tau2 retail smoke and trace comparison - #21
Open
Faultline-lab wants to merge 2 commits into
Open
Faultline-lab wants to merge 2 commits into
Faultline-lab wants to merge 2 commits into
Conversation
Runs tau2-bench retail tasks from the pinned upstream commit, captures live invoke_agent/execute_tool spans as OTLP, and gates them with the retail policy. Includes a two-task smoke, the first ten tasks of retail_50, and a manual comparison of the two disagreements.
Adds the outcomes join and the generated Markdown report so task success and process checks are read in one place.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add a reproducible τ-bench retail integration under
evals/tau2_retail/:7aad81c37a3a78b4ed3e4866769f851400c64415(2026-10-28);invoke_agentroot, oneexecute_toolchild per call);0,16) and a ten-task slice of tau2's publishedretail_50subset;precheck/checkoutput withexamples/policy_retail.json;Results
Smoke: both tasks scored tau2 reward 1.0, faultgate 0/2 failed. No disagreement.
Expanded slice
6,8,11,13,14,16,17,18,19,21:unrecovered_tool_errorfalse positive; recovered via the alternate identity tool###STOP###before the agent could actTwo disagreements were reviewed by hand and are written up in
evals/tau2_retail/FINDINGS.md. tau2 passed 9/10 (mean reward 0.9); faultgate passed 9/10; agreement 8/10,with one disagreement in each direction. The task 16 flag is useful but
mislabeled; the task 18 failure is outside faultgate's process checks.
faultgate precheck --sample 0read 10/10 traces and 64 tool steps with 0errors / 0 warnings.
faultgate checkread the same 10 traces, fired once(task 16), and exited 1.
User-facing report
check --outcomes ... --markdown ...producesartifacts/retail_50_first10/report-with-outcomes.md: tau2's 9/10 taskoutcomes and faultgate's process checks in one table, with failing trace IDs
and a reproduce command. This is the hand-off artifact; the longer
Aster-&-Oak-style PDF is a narrative layer built from the same JSON/evidence.
Trace capture
The runner patches
Environment.get_responseonly for the live environment.tau2's evaluator replays the trajectory on a fresh environment; recording that
replay duplicates every write and makes
max_calls_per_arg/invalidated_byfire on calls the agent never made. This was the only integration bug found.
Setup and cost
Setup, credentials, commands, and the pinned-commit guard are in
evals/tau2_retail/README.md.cost.jsonrecords calls and prompt/completiontokens. The smoke used 35 calls / 189,276 prompt / 8,251 completion tokens
over 198 s. The ten-task expanded run used 157 calls / 768,057 prompt / 34,102
completion tokens over 738 s. The gateway returned no USD price, so no dollar
estimate is fabricated.
Verification
python -m py_compile evals/tau2_retail/run.py evals/tau2_retail/compare.pyfaultgate precheck ... --policy examples/policy_retail.json(exit 0)faultgate check ... --policy examples/policy_retail.json(exit 1 on task 16)python evals/tau2_retail/compare.py ...(agreement table)artifacts/are the actual OTLP exports from the runs.Relationship to #20
#20 is an open two-task recipe at an older tau2 commit (
ebf990b). This PRpins current
main(7aad81c), records live spans rather than converting theCLI's results file, adds the ten-task slice, and reports the two disagreements
#20's sample does not cover. I did not modify #20.