Two runs on one axis of turns, and two eval scores
Top: three sessions on an axis of turns 0 to 4, one cell per model reply. Sessions -1 and -2 are two replays of files.yaml and match on every turn: list_directory, an answer naming one file, a shell call with wc -l that was rejected, read_file of README.md, and an answer of one line. Session -3 is the restricted run of guarded.yaml and calls shell with echo m101-ok at turn 0, the first divergence; its later turns are not compared. sessions diff reports identical behaviour for -1 against -2 and exits 1 with fail-on-divergence for -1 against -3. Bottom: the eval of files.yaml. Count the lines of README.md expected and got one shell call, F1 1.0, relevance 1/1, size S. List the files in the working directory expected list_directory and got list_directory and shell, F1 0.67, relevance 1/1, size S.
SESSIONS DIFF, 21-SESSIONS-DIFF.TXT
turn 0
turn 1
turn 2
turn 3
turn 4
-1 files.yaml
list_directory
path .
answer
1 file
shell
wc -l rejected
read_file
README.md
answer
1 line
-2 files.yaml
list_directory
path .
answer
1 file
shell
wc -l rejected
read_file
README.md
answer
1 line
-3 guarded
shell
echo m101-ok
turns 1 to 5 are not compared
downstream of the divergence
first divergence at turn 0: list_directory against shell
-1 against -2: Identical behaviour across all 5 turns, exit 0
-1 against -3: sessions diverged, exit 1 with --fail-on-divergence
EVAL OF FILES.YAML, 22-EVAL-CONTAINER-ENV.TXT
eval session
tool calls
F1
relevance
size
Count the lines of README.md
expected: shell
actual: shell
1.0
1/1
S
List the files in the
working directory
expected: list_directory
actual: list_directory, shell
0.67
1/1
S
Tool Calls: 83.3% avg F1 (2 evals). Sizes 2/2 and relevance 2/2 passed.