Skip to main content

Astraea Atomic

Developed by Astraea. Atomic tests AI models on procedurally generated construction problems with exact solution checking.

The terminal evaluator runs a selected Claude model against a fixed reference configuration and reports an Atomic Constraint rating (experimental) with a 95% confidence interval. It also includes an offline SDK for trying individual challenges.

Run a model evaluation

You need Python 3.10 or newer, uv, Docker installed and running, and an Anthropic API key with credit. The controlled Python evaluator requires macOS or Linux and a local Docker Unix socket. Native Windows evaluation is not supported in this release. Local release validation uses macOS ARM64 and Python 3.12; the Python version declaration is not a claim that every platform/version combination has been tested.

Start the evaluator:

uvx --from astraea-atomic==0.1.0 atomic evaluate

The terminal shows Atomic branding and guides you through selecting a model, entering your API key without echoing it, choosing the number of puzzles and setting a spending limit. It prepares the isolated Python runtime, shows progress, and prints your result. No Python file or Astraea account is needed.

An existing ANTHROPIC_API_KEY environment variable is reused. Run evidence is saved locally under ./atomic-results/ by default; --output PATH chooses a new directory.

Recheck a saved run without making API calls:

atomic report PATH_TO_RUN_DIRECTORY

The report checks the saved puzzle generation, trial records, accounting and score. This checks local consistency, not independent authenticity. Generation seeds stay in a private evaluator file and are never given to either model.

Both the selected model and the reference make paid API calls using your key. The default run uses 32 fresh puzzle pairs: 64 model trials, with Sonnet 5.5 at high effort anchored at 1,000 points. The default local accounting limit is $31, covering the conservative reservation of approximately $30.07 for all 32 pairs. This reservation is not an expected bill. Historical Sonnet runs suggest approximately $4.48 in returned usage for 32 pairs, but different models, responses, provider prices and errors can change the cost. The local limit is not an account-wide provider billing cap.

The evaluator downloads an official Python 3.12 container image when needed and records the local immutable image ID used for the run. Model-written code executes in restricted Docker containers; it has no network or host-folder access. API requests are made by the evaluator outside those containers.

Alternatively, install into a virtual environment on macOS/Linux:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install astraea-atomic==0.1.0
atomic evaluate

See the complete terminal walkthrough.

Understand your result

The experimental rating compares candidate-only successes with reference-only successes on the same fresh 384-variable Constraint Lock puzzles, using the versioned controlled Python protocol. The reference is assigned 1,000 by convention; it is not a measure of absolute intelligence.

When both counts are nonzero, the score is 1000 + 400 × log10(candidate-only successes / reference-only successes). Its 95% interval comes from an exact conditional binomial interval for the direction of the discordant pairs. Matching outcomes do not identify the rating difference. The numerical scale is uncapped, but the fixed 384-variable release is not proven to remain informative for arbitrarily strong future models.

For a complete run, the evaluator reports the observed pass rates and one of:

  • Estimate and 95% interval: both models have at least one unique success.
  • An upper or lower bound: unique successes occurred in only one direction, so a finite point estimate is unavailable.
  • Unidentified: all paired outcomes matched; this does not establish equal ability.

An interrupted or otherwise incomplete run is identified as incomplete and does not receive a rating from its completed prefix. A run with few puzzles can produce a wide interval or only a bound. More puzzles can improve precision, but do not guarantee a finite estimate.

The uncertainty calculation is conditional on the comparison's statistical assumptions. It does not include every possible source of uncertainty, establish that all model families behave alike, or make the rating a general intelligence score. Results include skill at writing code, using tools and staying within the declared token and execution budgets. Self-run results are not an independently certified leaderboard entry.

Earlier research required a 95% interval no wider than 200 points. The completed study failed that target. This release exposes experimental estimates with their uncertainty rather than withholding every imprecise estimate; it does not retroactively mark that study as passing. Its results and amendments remain in the research record.

Try the free offline demo

No API key, Docker or model calls are needed for the tutorials:

uvx --from astraea-atomic==0.1.0 atomic demo

The demo verifies two supplied example answers. It produces an unrated practice scorecard, not an AI evaluation or experimental rating.

For local development:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install .
atomic demo
atomic evaluate

Use the practice SDK

from astraea_atomic import Atomic
from astraea_atomic.examples import switchyard_solution

atomic = Atomic()
env = atomic.make("switchyard-tutorial", render_mode="terminal")
env.submit(switchyard_solution())
print(atomic.get_scorecard())

The supplied solution demonstrates the interface. Practice scorecards retain status: "unrated" and atomic_score: null; calling the SDK does not enforce an evaluation budget or certify a model score.

Generate and inspect a reproducible practice problem:

atomic make constraint-research --seed 42 --level 1 --output challenge.json
atomic verify constraint-research solution.json --seed 42 --level 1

For Constraint Lock, submit {"assignment": [...]} with one integer 0 or 1 per variable. Any satisfying assignment is accepted. Verification scans the clauses without searching for a solution. Levels select structural sizes, not calibrated difficulty ratings.

The SDK also includes Switchyard and Counterexample Forge tutorials and research generators. They are not combined into the experimental Constraint rating. Larger problems and an uncapped numerical formula do not establish that the benchmark remains informative indefinitely.

Research and development

The earlier internal README is preserved in the research history in the source workspace. Historical studies, provider records, private answers, credentials and local budget ledgers are excluded from the public package.

python -m pip install -e .
python -m unittest discover -s tests -v

Development tests belong to the full development workspace; they are not included in the public source distribution. The installed Python package has no third-party Python runtime dependencies. Model evaluation separately requires Docker, network access to Anthropic and paid API access.

Metadata

Release files for astraea-atomic 0.1.0

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

Source distribution (sdist)

Source distribution for astraea-atomic 0.1.0
File Size Uploaded
astraea_atomic-0.1.0.tar.gz 91.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for astraea-atomic 0.1.0
File Interpreter ABI Platform
astraea_atomic-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 197.7 kB

Release files / astraea_atomic-0.1.0.tar.gz

Download URL astraea_atomic-0.1.0.tar.gz
Size 91.8 kB
Tags Source
SHA-256 checksum
How to use checksums
94d6e229fd7fc13f572a60f87a91fa7e67457f75758d580a8e0fa778d829d0a0
BLAKE2b-256 checksum
How to use checksums
25485cc01e565aac574ac8bdf9aaadfb1a1b41e8b1dc727e8f1ffd6a3a4e3677
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / astraea_atomic-0.1.0-py3-none-any.whl

Download URL astraea_atomic-0.1.0-py3-none-any.whl
Size 106.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5b3d84fefcb43d7b0cd302b0071e60e1fe33ab246a13abf45111f09c0ddefa1d
BLAKE2b-256 checksum
How to use checksums
fcfa09a8a5ff7e521d6e1c2a656cf298e0354d398593b67a008716228843f056
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

0.2.1

2 release files

0.2.0

2 release files

This release

0.1.0 This release

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