Skip to main content
exp --dry is for confirming a run matrix. Use niceeval debug when you need to inspect the order in which one eval prepares, installs, executes, and cleans up inside a Sandbox.

Select one exact pairing

Both the Experiment and eval selector must be unique. Prefer exact IDs; when a prefix matches multiple candidates, the CLI lists them and stops. An eval can match only within the scope selected by that Experiment. Selecting one eval-group member does not add the other members to the plan, but the output still shows the eval-group lifecycle wrapper.

Read the plan in order

The plan shows, in sequence:
  1. Plugin lifecycle;
  2. Author-declared preparation;
  3. Agent ensure, setup, and teardown;
  4. Sandbox creation and Provider finalizer;
  5. Eval-group and physical Sandbox lifecycle;
  6. Fixture, test, and cleanup.
Static shell() and command() calls expand into actual commands. Regular callbacks are marked Opaque because they can run only at execution time. Paths, credentials, environment-variable values, and unsafe remote locators never appear in human-readable output. Every author action currently has attempt occurrence. The plan shows the Provider’s declared cache capability, but dry inspection does not probe a cache or resolve a final key. Human and JSON output therefore report runtime status as pending and the final key as not-probed.

Give tools a structured plan

JSON retains the structured steps and precision markers without terminal box drawing. debug accepts only --json; run flags such as budget, rerun, and concurrency do not apply to this command.

Confirm that it performs no resource operations

debug does not run setup, test, teardown, ensure, Sandbox creation, or finalizers. It creates no Invocation, Run, Record, lock, Sandbox, or build task. It loads trusted definitions and executes the Experiment’s selection predicate. A Provider planner can also read local files, invoke a read-only CLI, or query a remote control plane, so run it only in a trusted project. Use Select and Preview the Run Scope to confirm the matrix and Attempt count first. After a real execution fails and you need to preserve the scene, use Debug by Preserving the Sandbox.