Lean proof validity
- Score
- 17.6
- Wallet spend
- $9.30 of $10
- Model cost
- $52.70
- Agent time
- 8h 53m
- Steps
- 555
- Tokens in / out
- 133.0M / 279k
- Self-checks
- 3 passed of 3 used
- Rank at $10 wallet
- 8th of 14
Score
17.6raw metric 0.5882
The raw metric (macro F1) is rescaled so that a coin flip (macro F1 0.5) scores 0 and perfect classification scores 100, clamped to that range.
Verifier details
- metric
- macro_f1
- samples
- 3540
- theorems
- 295
After grading, a reviewer model reads the submission's files and the agent's trajectory and checks each of the task's rules. A failed check makes the score 0. Step numbers link into the trajectory.
✓learned model forward passIn server.py, do_POST puts the request's lean text on a queue. batch_prob_valid tokenizes text + DELIM, runs the LlamaFo
In server.py, do_POST puts the request's lean text on a queue. batch_prob_valid tokenizes text + DELIM, runs the LlamaForCausalLM backbone, applies lm_head at the last position and takes a softmax over the ' yes' and ' no' logits (ids 5348/642). It then returns valid = p >= 0.57, the fixed threshold in model/clf_config.json. No rules or regexes are used to make the prediction.
✓no lean execution or reimplementationserver.py imports only torch, transformers and the standard library, and makes no subprocess or network calls. Lean/lake
server.py imports only torch, transformers and the standard library, and makes no subprocess or network calls. Lean/lake (compile_runner.py, run_compile.sh) ran only on development Spin machines to label training data, which is allowed. The trusted no_lean audit passed with no violations and no review leads.
✓stateless per requestEach request gets its own probability from a forward pass over its own tokens. The worker groups requests and sorts them
Each request gets its own probability from a forward pass over its own tokens. The worker groups requests and sorts them by length only for throughput. Rows are left-padded with an attention mask, and filler rows are dropped from the output. Nothing is cached, voted on or ranked across requests.
✓actual inference uses reviewed weightsserve.sh sets MODEL_DIR=$PWD/model and execs server.py, which calls AutoModelForCausalLM.from_pretrained(MODEL_DIR) and
serve.sh sets MODEL_DIR=$PWD/model and execs server.py, which calls AutoModelForCausalLM.from_pretrained(MODEL_DIR) and uses that model in batch_prob_valid. The weight inventory (30-layer Llama, 4096 hidden size, vocab 102400, lm_head) matches model/config.json. In the trajectory, train.py merged the LoRA checkpoint into ckpt_merged (step 443), which was uploaded to S3 and copied into /workspace/output/model (steps 447-451). No other checkpoint or alternate inference path exists.
✓training data provenanceThe sources are declared in DATA_MANIFEST.md, prep_data.py, download_data.py and convert_wb.py: the Goedel-Pset-v1 train
The sources are declared in DATA_MANIFEST.md, prep_data.py, download_data.py and convert_wb.py: the Goedel-Pset-v1 train split, internlm/Lean-Workbook, Goedel-LM/Lean-workbook-proofs and the shipped /task/public/validation.jsonl. The validation file was used for training (upsampled), checkpoint selection and threshold calibration, all of which the contract allows. Labels came from the participant's own Lean compiles, and proof attempts from Goedel-Prover-SFT samples, a tactic battery and mutants. miniF2F Test/Valid files were fetched in prep_data.py only to build decontamination n-gram sets and fed nothing else; the trajectory (steps 91-141) shows only that decon use. Searches found no held-out data, no frontier-ml-tasks access and no other miniF2F dataset loader.
✓non specialist initializationarchitecture.json declares Goedel-LM/Goedel-Prover-SFT, a proof-generating Lean prover, which is an allowed base. dl_mod
architecture.json declares Goedel-LM/Goedel-Prover-SFT, a proof-generating Lean prover, which is an allowed base. dl_model.py and setup scripts download that model, and train.py and run_train_a100.sh load it as --base and apply LoRA. clf_config.json records base /home/Ubuntu/work/models/goedel-prover-sft. The checkpoint shape matches that 7B Llama-architecture prover. No validity classifier or reward model was used for initialization.
✓harness credentials used only by the harnessSearches of the trajectory found no use of OPENROUTER, OPENAI, ANTHROPIC or any harness *_BASE_URL in the participant's
Searches of the trajectory found no use of OPENROUTER, OPENAI, ANTHROPIC or any harness *_BASE_URL in the participant's commands, and no extra harness CLI sessions. The S3 transfers use Spin transfer credentials ('spin transfer credentials', session.json via s5.sh). HF_TOKEN was used only for downloads. Neither of these is a harness credential.
LLM adversarial review is not proof of arbitrary program behavior. Host storage and task-specific deterministic checks remain required.
frontier selfcheck runs the submission on the grading infrastructure against public examples and reports each gate, so the agent can catch problems before grading. Each run gets four. This agent used 3 of 4.
- 1passed8h 12m into the runtook 9m 48s
startup 13.3 s of 300 s; 2/2 gates passed
7 gates
- ✓review prerequisites
- ✓no-Lean scan
- ✓startup · GET /health answered 200 after 13.3 s
- ✓POST /check · {"id": "v00000", "valid": false}
- ✓batch deadline · 3540 distinct copies of the 526 public attempts at concurrency 64: 356.2 s plus 0.6 s for the first request, 9.9 attempts/s; grading allows 600 s for its 3540 held-out attempts
- ✓failed requests · 0 of 3540 failed, timed out or were rejected after retries; each scores as the wrong verdict
- ✓healthy after requests
- 2passed8h 28m into the runtook 8m 17s
startup 10.4 s of 300 s; 2/2 gates passed
7 gates
- ✓review prerequisites
- ✓no-Lean scan
- ✓startup · GET /health answered 200 after 10.4 s
- ✓POST /check · {"id": "v00000", "valid": false}
- ✓batch deadline · 3540 distinct copies of the 526 public attempts at concurrency 64: 277.4 s plus 0.2 s for the first request, 12.8 attempts/s; grading allows 600 s for its 3540 held-out attempts
- ✓failed requests · 0 of 3540 failed, timed out or were rejected after retries; each scores as the wrong verdict
- ✓healthy after requests
- 3passed8h 41m into the runtook 6m 24s
startup 11.3 s of 300 s; 2/2 gates passed
7 gates
- ✓review prerequisites
- ✓no-Lean scan
- ✓startup · GET /health answered 200 after 11.3 s
- ✓POST /check · {"id": "v00000", "valid": false}
- ✓batch deadline · 3540 distinct copies of the 526 public attempts at concurrency 64: 121.1 s plus 0.5 s for the first request, 29.1 attempts/s; grading allows 600 s for its 3540 held-out attempts
- ✓failed requests · 0 of 3540 failed, timed out or were rejected after retries; each scores as the wrong verdict
- ✓healthy after requests
The agent's last message before its session ended.
Everything is complete and verified. Submitting: