Skip to Content
ReferenceProgress Events

Progress events

SecureBench emits progress events through securebench.progress.emit_progress(). The CLI uses StreamProgressReporter unless --quiet is set.

Events are human-readable lines on stderr. Structured fields vary by event.

Event catalog

EventTypical fieldsWhen
run_startrun_id, output_dirRun begins
resumecompleted, remaining, output_path--resume skipped tasks
task_startindex, total, task_id, familyBefore producer
producer_starttask_idHarness starts
producer_donetask_id, candidate_kind, status, failure_reasonAfter extraction or timeout
verifier_starttask_idVerifier starts
verifier_donetask_id, status, score, phaseVerifier finishes
task_donetask_id, status, passed, scoreTask completes
sandbox_createkind, image, root, network, read_onlySandbox is constructed
sandbox_startkind, image, containerPersistent Docker container starts
sandbox_commandkind, image, workdir, commandBefore command
sandbox_resultkind, exit_code, command, stdout, stderrAfter command
agent_outputCodex-specificWith --show-agent-output

CLI flags

FlagEffect
--quietNo progress output
--show-command-outputInclude stdout/stderr snippets on sandbox_result
--show-agent-outputStream agent messages and reset agent-trace.log each run

Agent trace file

With --show-agent-output, agent_output events append to:

<output_dir>/agent-trace.log

The file is truncated at each run_start.

Custom reporter

from securebench.progress import ProgressReporter, progress_context class MyReporter(ProgressReporter): def event(self, name, **fields): print(name, fields) with progress_context(MyReporter()): run_tester_config(config)

You can also pass progress= directly to run_tester_config().

Last updated on