Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Evaluations

myco-eval freezes task cases from existing sessions or new prompts, then runs them through the same SessionRunner as the server. Each attempt uses a fresh workspace and profile. An independent grader checks the resulting artifacts.

myco-eval from-session SESSION_ID /private/evals/fix-parser \
  --user-message 12 --repo /path/to/repo --revision STARTING_COMMIT \
  --grader grader.py --split test
myco-eval run /private/evals --config /path/to/config.toml \
  --model MODEL_KEY --output /private/results --repeat 3 \
  --max-requests 40 --timeout-secs 600
myco-eval report /private/results --min-success-rate 0.8

Choose the starting revision explicitly: a conversation is not a filesystem snapshot. Export only the prefix before the task's answer, and review earlier context for answer leakage. Keep session exports and results private unless reviewed for publication.

Reports distinguish full task success, partial artifact quality, timeout, and infrastructure failure. They retain request/token counts, tool observations, latency, and cost estimates. Repetitions and held-out tasks help measure whether a model reliably completes your work.

Run artifacts include versioned provenance.json with effective settings and the main-agent prompt, plus timestamped events.jsonl with request/tool identity and failed or abandoned attempts. Authentication values are excluded from the configuration snapshot. Git runs include a self-contained pinned source bundle and a relative frozen recipe; they can replay after moving the run and removing the original repository, using separately supplied configuration and tools. The task eval manual documents artifact portability, event fields, and fingerprint reuse.

cargo test --locked --offline --test evals exercises the executable against local scripted providers: isolated fixtures, cache invalidation after policy changes, grader failures, request limits, broken streams, transient recovery without repeating completed tool effects, and deadline cancellation during backoff. These exact runtime checks need no model credentials; they do not measure real-model completion across repeated compactions.

The optional GEPA adapter optimizes the prelude using bounded Myco task and reflection runs. It separates train/validation/test cases and defaults to explicit free OpenRouter models. It requires no additional dependency in the Rust CLI. See the task eval manual for case formats, graders, spending guards, resume behavior, and the GEPA command.

For a custom embedding, use SessionRunner or the lower-level agent API.