Directory layout
migrate-then-test
task.toml
environment
Dockerfile
tests
test.sh
steps
01-migrate
instruction.md
tests
test.sh
workdir
setup.sh
02-test
instruction.md
tests
test.sh
tests/ folder can hold shared verifier files. Each step can include optional workdir/ files and a setup.sh inside that folder.
Each step needs an instruction and a test script, either its own or the shared root tests/test.sh. Step test files override shared files with the same path.
Declare the order
task.toml
workdir/ files are copied into the working directory and setup.sh runs if present.
Rewards and stopping
A setup or healthcheck failure stops the remaining steps. A step error with no verifier result also stops the trial. An agent error alone can still continue when verification returns a result and the reward thresholds pass. Infrastructure failures stop the trial.
The trial exposes individual outcomes in
step_results. A retry starts again at step 1.
Current limits
Multi-step tasks require shared verification. Compose, separate verification, per-step agent users, per-step network policies, per-step verifier environments, and per-step collection hooks are rejected. Verifiers run as root. These trials cannot be regraded.
steps.artifacts does not create a separate snapshot after each step. Save intermediate outputs under distinct paths when you need to inspect them later.
To seed the first conversation on Claude Code or Codex, put an ATIF trajectory.json inside the first step’s directory, beside its instruction.md. A root trajectory or a trajectory in a later step is rejected. Later steps start fresh conversations.
