harnest test --evals compiles the agent, runs the selected Python test lanes, evaluates every valid root eval set, and returns a nonzero status when the quality gate fails.
Run evaluations
--smoke to run smoke tests before evaluation:
numSamples setting.
Select the trajectory policy
business is the default. The flag affects only tool_trajectory_avg_score.
Save the complete result
Without--no-output, Harnest prints detailed evaluator output and a complete structured JSON EvalRunResult after evaluation. Select a machine-readable file instead of parsing mixed terminal output:
--no-output:
--no-output suppresses unit, smoke, evaluator, and final result output in the terminal. It does not suppress an explicitly selected result file. --eval-output requires --evals.
Understand EvalRunResult
The current contract is identified by:
apiVersion. The result schema is versioned independently from the installed ADK’s nested case models.
Top-level fields
Case diagnostics
EachevalCaseResults item preserves:
- Overall result, score, criterion, and details for every metric.
- Per-invocation metric results.
- Complete actual invocations and optional expected invocations.
- User content, final responses, intermediate events, tool evidence, and applicable rubrics carried by those invocations.
- Evaluator session ID, user ID, and session details, including state and recorded events.
- Rubric scores and rationales in each metric’s
details.rubricScoreswhen the evaluator supplies them.
not_evaluated means the row has no score. Earlier turns of a final-turn-only metric can have this status without failing the CLI gate: ADK averages the available scored turns. A metric with no scored turns does not pass. Inspect the overall result together with the scored turn evidence.
Infrastructure errors
If evaluation has started and a provider, adapter, or evaluator raises an infrastructure error, Harnest emits or writes the partial result before reporting the original command failure. Its top-level error excerpt looks like this:Inspect in the playground
Runharnest serve AGENT_DIR, open /, and select Evals. The workspace lists root suites, configured and supported metrics, and the business and strict policies. You can run one suite and inspect case, metric, response, and tool-call evidence.
The playground response is optimized for interactive inspection. Use the CLI’s EvalRunResult file when you need the complete retention contract.
For final-turn-only multi-turn metrics, the playground can currently mark a run as failed when earlier rows are
not_evaluated, even if the CLI’s scored-turn gate passes. Use the CLI quality gate for CI and inspect the final scored turn when diagnosing this difference.Use results in CI
harnest test fails. Otherwise the most useful failure diagnostics may be discarded.