Configuration
Keep machine-specific values in the ignored user_config.yaml; start from user_config.yaml.example. The example uses placeholders and must be edited before use.
Node and scheduler
Set the SSH host/user/key, node workspace, Python executable, Hugging Face cache, SLURM partition/account, and GPU/time limits. Alternatively, set the corresponding V2_* environment variables. Do not add SSH credentials, private harness URLs, or machine-specific paths to tracked source.
Data
- Provide a behavior CSV following
BEHAVIORS.md. Training IDs are 0-49 and Red test IDs are 50-99 unless a preregistered split says otherwise. - Provide the benign banks used for calibration and evaluation, including wrapper-matched examples where relevant.
- Set optional bank paths through the documented
V2_*variables inpaths.py.
Round-0 bootstrap creates only seed attack/world/spec files. It does not generate target completions, score them, produce gold labels, or calibrate Blue. A calibrated monitor and its target-specific weights must already exist before running the loop.
Target and judges
The target is set through the loop/harvest configuration. The current published experiment used Qwen2.5-7B-Instruct, but the harness is configurable. For a new target, check the btp rendering/harvest APIs, load a compatible monitor, and calibrate thresholds on a disjoint benign split. Never reuse Qwen probe weights for another model.
The primary HarmBench classifier and the OpenCode Go secondary judge serve different roles. Record judge model and lineage for each round. If changing a provider or model, record the cutoff rather than presenting all rounds as one homogeneous judge series.