/onyx Tune my PID controller gains, minimize error,
the orchestrator turns that goal into a validated local setup, then starts an
asynchronous session whose hypothesis workers produce measured git history.
From Prompt to Campaign
The orchestrator first converts your prompt into campaign metadata:
It then creates or selects an Onyx campaign and records the current git commit as its base.
Local Setup
Before changing product code, the orchestrator should create and commit:onyx/setup.json: the canonical local setup policy;onyx/validation.json: the latest local setup validation report;onyx/onyx.md: the generated research spec with durable project guidance;onyx/tools/*: helper scripts for reset, readiness, evaluation, guardrails, or environment control.
Experiment Loop
Each attempt follows the same shape:1
Start workflow
A hypothesis worker runs
onyx-worker exp run --campaign <name> --auto. The CLI
creates a durable workflow run using the clean worker HEAD as the base and
pauses at the leading agent step.2
Edit and commit
The worker changes scoped files based on its brief and
onyx.md, then makes
exactly one clean result commit.3
Resume workflow
The worker runs
onyx-worker exp run --resume --auto. The CLI
verifies setup compliance, executes declared workflow tools, parses the
primary metric, and stores step logs.4
Record
The worker logs the terminal attempt with
onyx-worker exp log; the CLI resolves
the measured attempt from worker context and records status, metric, output
summary, setup compliance, and agent notes.5
Report
It pushes an immutable experiment ref, then reports the result directly to the Onyx API. The server accepts, deduplicates, or rejects the report.
What Gets Recorded
Every experiment points to an exact commit and includes:- status, such as
succeeded,failed,checks_failed, orsetup_violation; - primary metric value;
- output summary;
- optional guardrail result;
- local setup compliance;
- agent notes about what was learned.
How to Watch Progress
In the Onyx app:- Graph view shows the campaign, experiments, hypotheses, workers, and current best metric.
- Campaign overview shows campaign setup summary, resources, workers, hypotheses, summaries, stop state, and best-so-far steps.
- File tree shows changed files plus
onyx/context. - Diff view compares an experiment to the previous best when possible.
Manual Debugging
The agent runs the CLI for you, but these commands are useful when debugging a setup:onyx-worker tools run <tool-id> for transient smoke checks. It leaves workflow
and measured-attempt state untouched.
If the agent cannot measure progress, inspect the declared metric tool in
onyx/setup.json. The metric step must print a numeric line such as: