starscry · the Reward Integrity Index

Stop grading mirrors with mirrors

In reinforcement learning the reward function is the specification — and everything that checks it is another model. starscry is the deterministic instrument that grades a reward with no model in the loop: one dial reads how cheaply it is gamed and how hard its task truly is, and you re-run every result byte-for-byte.

Don't trust us — re-run the seed.

32 audited2 F6 ERR3 C9 A1 difficulty
▶ watch us game a real reward

How a reward-hack happens

Step through one real, sealed reward-hack our searcher found — reward → our content-free output → it clears the bar → sealed so you can re-run it.

1 · The reward

skill_reward_hacking is a real RL environment reward — a checker that is supposed to only reward genuinely doing the task. No human, no oracle: just code (or a model) returning a score.

2 · Point a dumb searcher at it

starscry runs a seeded, model-free search that only ever sees the reward’s number — never its internals — and tries to make that number go up. It found this content-free output in 1 simulation:

the
...
uh
the
3 · It clears the bar

The reward scored that output 1.076 — at or above its own pass threshold. A garbage string is graded as a success. That is a reward-hack: the reward can be satisfied without doing the task.

pass 0.50
4 · Sealed — don’t trust us

The whole hack ships as a transcript sealed by a content hash. You re-run the seed and check the bytes yourself.

seal ee9306ff1ba80c29

replay: stardata audit skill_reward_hacking --exploit-search --row-seed 0 --exploit-seed 0 --exploit-budget 64 --generator mock

step 1 of 4
▶ try it — no sign-up, runs in your browser

Game a reward, live

The univocalic-e reward asks for writing that uses only the vowel e. Type below and it scores in your browser — computed by the real Rust verifier compiled to WASM. The preset eep eep eep is a content-free string; watch it clear a reward built to test constrained writing. That is a reward-hack — the low end of the dial.

univocalic-e rewardengine: —

Full playground with three-way parity (Python = JS twin = Rust/WASM): the reward playground → · verify a sealed exploit yourself — hash it and watch the seal break: re-run a seal → · or watch a solver play its solution in the decomposition explorer →.

run it yourself — offline, no key, ~60 seconds

Install the verifier

The full instrument ships as an Apache-2.0 package: the verifier, the audit battery, the exploit search, the seal. One command, then watch a gameable reward fall on your own machine:

$ pip install staros-stardata
$ stardata quickstart
[2] audit a GAMEABLE reward (lipogram composite, degeneracy gate removed)
    grade: F
    gamed in 1 simulations -- the search built a degenerate completion the reward accepts:
      'ok\nuh\nn/a\nx'
    gameable reward scores it 1.00; the HARDENED reward (degeneracy gate) scores it 0.25
[3] seal + self-verify
    record_sha256 1ea440e56a6c5492...  self-verify: OK

Then gate your own environment before it burns a training run — stardata ci <your-env> exits non-zero on a gameable reward — and see the integration guide → for wiring it into verifiers, prime-rl, or TRL.

32 audited artifacts · refreshed 2026-07-06T19:42:02.517306+00:00

The board, at a glance

Board integrity 78/100 across 32 audited artifacts · 2 confirmed reward-hacks, the flagship gamed in 1 simulation(s). Every row re-runs byte-for-byte.

Reward Integrity Score050100

Open the full leaderboard →

How it works

  1. Point a dumb, deterministic searcher at the reward. No model sits in judgement to have a conflict of interest.
  2. Read both ends of the dial. A content-free output that clears the bar in almost no search is a reward-hack; a genuine solution that costs real search is difficulty — one currency, search effort.
  3. Seal it. Every finding ships as a replayable transcript sealed by a content hash. You re-run it; you don’t trust us.

Featured findings

Confirmed exploit · grade F

skill_reward_hacking

a content-free completion scored at or above pass_threshold, gamed in 1 simulation(s) — shipped as a replayable transcript.

See on the leaderboard →
Clean control · grade A

aime2025

withstood the full battery — degenerate probes, invariance, and exploit-search — with no signature. Negative controls are reported as loudly as findings.

See on the leaderboard →
Difficulty certificate

sokoban

search-effort sims-to-solve tracks an independent oracle at ρ = 0.837, with no model in the loop.

See on the leaderboard →

Why you can believe it

The instrument’s validity condition is that it can refute its own makers — and it does, in public: the technical paper ships a graveyard of our favourite hypotheses, each with a named cause of death. An instrument that cannot kill its owner’s thesis cannot certify anyone else’s. Read the whitepaper →

Audit your environment

Shipping a verifiers-format environment? We run this exact deterministic, model-free audit — gaming & difficulty — and hand back a sealed, replayable verifier card your buyers re-run themselves. No trust required.

Self-serve on the certification gateway at api.s2ar.dev — every seal on this board re-verifies free at /v1/verify/<record_sha256>, no account.

Audit your environment →