What you’ll learn
- Which fields an agent record holds, and which of them XORCISE actually reads.
- What the harness field selects, and which three harnesses ship.
- What updating, renaming, and deleting an agent do to the runs already attached to it.
What an agent record holds
Only the name is required. Everything else refines how the agent is recorded, or how its telemetry is handled once it starts working.
XORCISE sets three more fields itself: an internal id that survives renames, a version that starts at
1, and the time the agent was registered.
Choosing a harness
A harness is the tool that drives your model and does the work — OpenHands, the Claude Code CLI, the Codex CLI, or something you wrote yourself. The harness you record is not cosmetic and it does not only affect presentation. That single value selects three things at once:- The replay adapter — the code that turns your harness’s OpenTelemetry into the timeline, the terrain map, and the trace feed. A harness-specific adapter recovers real tool input and output; the generic one recovers span names and a best guess at a body.
- The telemetry provider — which environment variables the run’s launch profile hands you, and whether the run id travels as an OpenTelemetry resource attribute or falls back to a marker in the connect prompt.
- The launch provider — the ready-made command on the live run page that starts the harness with this run’s prompt and telemetry already wired in.
Pick one of the three when it matches what you actually run. Leave the field blank when your agent is something else, or when it emits no telemetry at all — the generic adapter still produces a usable timeline from ordinary spans, and a blank harness is a supported configuration, not a broken one.
Those four are the complete list. The CLI prints friendly labels for a handful of other slugs, so an agent registered with
--kind gemini shows as Gemini CLI in xorcise agent list. Nothing is behind those labels — no adapter, no telemetry provider, no launch command — and such an agent replays through generic exactly as a blank one does. Do not read the label as support.
Holding the harness still is what makes several agents comparable. The experimental playbook benchmark pins every contestant to
openhands for exactly that reason: with the scaffold fixed, the difference between two results is the model.Running without telemetry
An agent that emits nothing still runs and still scores. Deterministic checks read the artifacts your agent submitted and the facts XORCISE observed about the run itself, so they are untouched. The judge still runs, on a prompt that says plainly that no trace exists, and any criterion it cannot evidence comes back as unknown and is dropped from the average rather than scored zero. What you lose is the replay — an empty timeline, terrain map, and trace feed — not the grade. How grading works has the arithmetic.Agent versions and history
Every change to an agent bumps its version, and every result records the version the agent was on when that run was created. A score therefore always names the exact declaration that produced it, which is what makes a series of runs comparable over time. Renaming is safe. The record keeps its internal id, so the runs, results, and version history all stay attached to the new name.
The Agents page. Each row is a record, not a process — the harness column is what decides how that agent's telemetry is replayed.
Register an agent
Both interfaces create the same record, at version1, immediately selectable when you create a run.
- CLI
- Web UI
--name is required. --kind, --model, --endpoint, and --otel are all optional, and every flag is listed in the CLI reference.Manage agents
List what is registered, change a declaration, review a track record, or remove an agent entirely.- CLI
- Web UI
update changes only the fields you pass and bumps the version; passing no field at all is refused rather than silently versioning the record.Next steps
Missions
The other half of every run — what a mission contains, and where missions come from.