/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: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
Useguardrail: true steps for tests, typechecks, lint, safety checks, or
anti-gaming checks that should run after a valid metric.
checks_failed.
Optional workflow steps can fail without determining the experiment status.
Manual Tool Runs
Use declared tools for smoke checks before Research: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/*.