Skip to main content

autojudge

Smarter experiment evaluation for autoresearch. Replaces eyeballing val_bpb with statistical verdicts that account for noise floor, Pareto efficiency, and trend context.

Install

pip install autojudge

Usage

# Evaluate the latest experiment
autojudge --results results.tsv --run-log run.log

# JSON output for scripting
autojudge --results results.tsv --format json | jq '.verdict'

# One-line verdict
autojudge --results results.tsv --quiet

Verdicts

Verdict Meaning Exit Code
STRONG_KEEP Improvement well above noise floor (3x+) 0
KEEP Improvement likely real (1.5-3x noise) 0
MARGINAL Improvement within noise (0.5-1.5x) 0
RETEST Indistinguishable from noise 0
DISCARD Regression detected 2
CRASH OOM or runtime error 2

Exit code 1 = input error (file not found, parse failure).

Scripting

# Auto-evaluate and commit or revert
if autojudge --results results.tsv --run-log run.log; then
    git commit -m "keep"
else
    git reset --hard HEAD~1
fi

JSON Output

{
  "verdict": "KEEP",
  "confidence": 0.82,
  "val_bpb": 3.87,
  "prev_best": 3.91,
  "delta": -0.04,
  "delta_pct": -1.01,
  "noise_floor": 0.02,
  "on_pareto_frontier": true,
  "suggestion": "Good improvement in val_bpb. This experiment is on the Pareto frontier. Good progress.",
  "...": "plus efficiency, trends, pareto_frontier, experiment details"
}

How It Works

  • Estimates noise floor from pairwise differences between consecutive keeps
  • Scores improvement confidence as a ratio of delta to noise floor
  • Tracks Pareto frontier (val_bpb vs memory efficiency)
  • Detects streaks, plateaus, and diminishing returns
  • Parses run.log for OOM warnings, memory pressure, and training metrics

Requirements

  • Python >= 3.10
  • A results.tsv file from autoresearch

License

MIT

Release files for autojudge 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autojudge 1.0.1
File Size Uploaded
autojudge-1.0.1.tar.gz 10.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for autojudge 1.0.1
File Interpreter ABI Platform
autojudge-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size:21.6 kB

Release files / autojudge-1.0.1.tar.gz

Download URL autojudge-1.0.1.tar.gz
Size 10.5 kB
Tags Source
SHA-256 checksum
How to use checksums
1c9b26cbd5145563668f68c8dfc1ac1d86b40953d5c506785e54751c9bfe2192
BLAKE2b-256 checksum
How to use checksums
e2fae2aa23215d2ae07efd64ac8516f794aa929a92633ecddd9659eadbc8502f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / autojudge-1.0.1-py3-none-any.whl

Download URL autojudge-1.0.1-py3-none-any.whl
Size 11.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b42d1e2f52ab040edaa44f8b80ec6527174cb4e585b12f68f345f053dc4b3871
BLAKE2b-256 checksum
How to use checksums
588241b59b7f24bc7ab3d3677815044dfc8ac4442414c0859feb2e340a8669ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page