Skip to main content
When you start with /onyx ..., the orchestrator creates the repo-side setup files it needs to run comparable parallel research. You can review the setup before Research starts; changing setup during Research should stop the session, revise setup, and run validation again.

onyx/setup.json: Setup Policy

setup.json is the canonical local setup policy for the orchestrator and hypothesis workers. It defines what agents optimize, how measurement runs, what files are in scope, which setup paths are protected, what resources are leased, which tools are available, and the linear workflow for one experiment attempt. The orchestrator creates the first version and onyx setup validate writes the latest check results to onyx/validation.json. During Research, hypothesis workers treat setup files as frozen. If setup is wrong, stop the session and revise it. Example:
experimentPolicy.mode: "single_candidate" tells workers to make one measured candidate per workflow. Short diagnostics are fine, but broad grid, sweep, probe, or scratch tuning scripts should be treated as policy violations unless setup explicitly changes the policy.

Metric Tool

The required metric step must print exactly one primary metric line:
Example tool:
If the tool exits nonzero, times out, emits no primary metric, or emits the wrong metric name, the workflow attempt is recorded as failed. The required metric tool must also declare non-empty fingerprintPaths. Directories expand recursively to sorted tracked regular files. Onyx rejects missing, untracked, escaping, or symlinked paths, then fingerprints committed git contents together with the metric step and complete normalized tool configuration. Changing those inputs creates a separate evaluation revision instead of mixing incomparable results.

Guardrail Tools

Use guardrail: true steps for tests, typechecks, lint, safety checks, or anti-gaming checks that should run after a valid metric.
If a required guardrail fails, the experiment is recorded as checks_failed. Optional workflow steps can fail without determining the experiment status.

Manual Tool Runs

Use declared tools for smoke checks before Research:
Manual tool runs never create workflow state, never satisfy workflow steps, and never create a local experiment attempt.

How to Change Setup

Ask the orchestrator to revise setup when you need to change agent behavior, measurement, reset, tools, resources, or hard constraints. Examples: After changing setup intent, tell the orchestrator:

Protected During Research

Hypothesis workers should not modify:
  • onyx/onyx.md;
  • onyx/setup.json;
  • onyx/validation.json;
  • onyx/tools/*.
The orchestrator can improve these files by revising setup and validating before starting more hypothesis workers.