Understand automatic retries first
Automatic retries require no configuration. While a retry waits, the Attempt’s active row shows a message like this:errored and its error includes a summary:
Declare the scope when you discover a failure
When you inspect a shared service or a Fixture yourself, throw an error with a scope directly:ExperimentFatalErrorstops unstarted Attempts in the same Experiment. Use it for shared services, shared credentials, and Experiment-level configuration failures.EvalFatalErrorstops only unstarted Attempts in the current Eval. Use it for a deterministically missing Fixture or a prerequisite that belongs only to that Eval.
test(t) callback. Replace serviceHealthUrl with your service’s health endpoint, then use ExperimentFatalError to stop the Experiment’s remaining Attempts:
Identify shared services that disconnect during a run
Some shared services work when an Experiment begins but disconnect later. An SDK, CLI, or network library usually throws that failure. Use an Experiment’sclassifyFailure to recognize your own service address:
ECONNREFUSED as an Experiment-level failure: the Agent can see the same error while reaching another site.
Resume the run after fixing it
After stopping work, failed Attempts are recorded aserrored. Attempts that never began are unstarted, and the run status shows incomplete.
After you fix the service, credentials, or Fixture, rerun the original command. NiceEval keeps the passed results and runs the parts that were previously errored or unstarted.
classifySendFailure when it has a dedicated pre-acceptance rejection signal. See its type and boundaries in the defineSandboxAgent reference.