airunner-eval
September 17, 2026 ยท View on GitHub
Benchmark and evaluation harness for the LLM agents in Capsize-Games/airunner (AI Runner). This is not shipped to customers; it's benchmark tooling used to evaluate agent quality (tool selection, mood, document handling, response quality) against real running daemons.
Provenance
Extracted from Capsize-Games/airunner at commit
b9cfbef52 (2026-09-17), as issue
#2194, part of the
repository-split tracker
#2185. History for
the moved files is preserved (git filter-repo); it was the first
extraction because nothing in airunner/airunner-services depends on it
-- the dependency arrow only ever pointed one way, eval -> services.
Install
pip install -e ".[dev]"
Depends on the published airunner-common and airunner-services PyPI
packages (~=6.1, tracking
docs/architecture/versioning-and-compatibility-policy.md in the airunner
repository, issue #2191) rather than a path dependency, since this
repository no longer lives in the same tree.
Known limitation: duplicated test infrastructure
tests/llm_functional_support.py (daemon start/stop, environment setup,
log-waiting helpers for functional tests that need a real running daemon)
is a copy, not a shared dependency. The original still lives in
airunner's services/tests/llm_functional_support.py, where it also
backs several non-eval functional test files
(test_llm_functional.py, test_llm_tts_functional.py,
test_stt_transcribe_functional.py,
test_gui_llm_tts_functional.py, test_gui_stt_llm_tts_functional.py).
This wasn't discovered until the extraction was already in progress, and resolving it properly -- publishing a shared daemon-testing support package both repositories import, or some other shared home -- is a real, separate piece of design work, not something to force through as part of a history-preserving move. Filed as a known gap rather than silently duplicating the file and moving on; see the extraction issue's tracking comment for the follow-up.
Until that's resolved, a behavioral fix or feature addition to the shared daemon-testing helpers needs to land in both repositories by hand.
Running the tests
pytest tests -v -m eval --timeout=300
LLM quality evals need a GPU and locally served models (see
docs/agent-eval-tests.md in the airunner repository) and cannot pass on a
stock CI runner; CI keeps the job for its uploaded report but does not gate
on it, matching the continue-on-error: true behaviour the original
eval-tests CI job had in the source repository.
Licence
GPL-3.0-only. See LICENSE and NOTICE.