Skip to main content

Command overview

beacon endpoint harness2 collects telemetry from Harness², Google Research’s framework for recursive agent harnessing, by reading the executor event streams Harness² records under its runs directory and converting them into Beacon endpoint events.
Command syntax
It is a command rather than an install step because Harness² has nothing to install into. It runs OpenCode and Codex in environments it builds itself, so what records each rollout is the stream Harness² writes beside it, and collecting from that is an action rather than a configuration. Every event is marked harness.collection_method=poll and harness.name=harness2. Beacon sees a rollout once Harness² recorded it, so nothing here can hold or deny a tool call. Reading is local and offline. Nothing this command does reaches the network.

Commands

Flags

Both subcommands accept: sync also accepts:

Runs directories

Harness² writes to runs/ inside its own checkout unless HARNESS2_RUNS_DIR says otherwise, and a checkout can be anywhere. Name it once:
Read a checkout's runs directory
The directory is remembered in the cursor file, so later syncs with no --runs-dir, and the install-time backfill, keep reading it alongside the default. Each new value of HARNESS2_RUNS_DIR, which Harness² recommends when changing models or task selection, is a new directory to name.

Sweeping

Sweep once
Preview without writing anything
Sweep continuously while an experiment runs
Nothing sweeps on its own. Run sync after an experiment, under whatever scheduler the platform already uses, or leave --watch running during one.

Status

Show rollouts and collection progress
collected means the file is unchanged since a sweep last read all of it.

Cursor behavior

The cursor keeps one entry per trajectory file: the last line whose events were all written, the file’s size and modification time, and the session it held. A stream still being written is read up to its last complete line, and the rest on a later sweep. When Harness² re-rolls a run into the same path, the file names a new session and is read from its start. Re-reading is safe: each event’s id comes from its executor, session, line and kind, so the same line maps to the same event every time.

Harness²

What Beacon records from Harness² rollouts, and the known gaps.

beacon endpoint install

The install-time backfill that runs every session collector once.