Roster is an agent that runs performance reviews for your AI coding agents.

It finds the setup that's quietly making your codebase worse, tests a better one on your own past tasks, and ships it only if nothing regresses.

The result

11 vs 1 passed, p = 0.006

Only the new setup passed11
Only the old setup passed1
Both passed20
Neither passed3
Valid pairs35
McNemar exact testp = 0.006
CallVerdictWhy
Original gate (v1)promotetie on hidden_pass 0; candidate cheaper $0.4385 < $2.5181
raw reasonstie on hidden_pass 0; candidate cheaper $0.4385 < $2.5181
Revised gate (v2), same tasksrejectfewer hidden-test passes than the incumbent (0 vs 1); 1 regression; 1 scope violation
raw reasonshidden_pass 0 < incumbent 1; 1 regression(s) after reruns: ea846f90-734e-4fb0-bd01-0ce8658c6b0c; 1 scope violation(s): 8d77769a-b6f0-44cb-b3d4-928acc638e1b
(hidden tests passed: incumbent 1, candidate 0)
Forward test of v1's call11 vs 1 passed, p = 0.006

The experiment page · PREREGISTRATION.md

Our own AI team's review level A

The coding agents building Roster, reviewed by Roster. rajkaria/roster, generated 2026-10-12T01:59:31.458Z.

SetupSessionsSpendUnattended
Claude Code · claude-opus-5-56a200cd990a721$23.54100%
Claude Code · claude-sonnet-5-5 (rules 243fa2)97433f7b444615$6.3753%
Claude Code · claude-sonnet-5-5 (rules dabdd0)a9544a00208560$10.7958%
Claude Code · claude-haiku-5-5c8d6907735ec18≥ $2.0756%
Claude Code · deepseek-flashf656e13e2af040$1.2663%
All setups154≥ $44.03

Read the full review →

How it works

Every claim on a Roster page carries the evidence level behind it. A setup is never called worse on level A alone.

level A Observational

Roster reads every recorded agent session and scores what happened to its change: kept, reverted, or reworked by a person. This points at a suspect setup but proves nothing on its own.

level B Controlled replay

Roster reruns the suspect's real past tasks at their parent commit, under the current setup and under candidates, and grades every attempt with hidden tests. A candidate is promoted only if nothing regresses.

level C Pre-registered forward test

New tasks, written down before the decision, run through the old and the new setup side by side. This checks that the decision holds on work that did not exist yet.

The experiment

Roster built itself with several agent setups, and its first review of this repo picked which setup to promote. Before that review ran, we froze a backlog of new tasks and their acceptance tests and published their hashes in FREEZE.txt. The hypotheses, tests and stop rules are fixed in PREREGISTRATION.md. Results get published whatever they show.

Built with Entire, neatlogs and cfo.ai