Skip to Content
ReferenceProgress Events

Progress Events

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

Events are formatted as 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 starting
producer_donetask_id, candidate_kind, status, failure_reasonAfter extraction or timeout
verifier_starttask_idVerifier starting
verifier_donetask_id, status, score, phaseVerifier finished
task_donetask_id, status, passed, scoreTask complete
sandbox_createkind, image, root, network, read_onlySandbox constructed
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; reset agent-trace.log each run

Agent trace file

When --show-agent-output is set, events named agent_output 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)

Or pass progress= directly to run_tester_config().

Last updated on