This document defines the reproducible run plan for a future public Geno vs Python LLM correctness benchmark. Public frontier-model publication is deferred, but the methodology stays tracked so a later run can be audited.
Research Question
Does prompting frontier LLMs to write Geno produce more correct solutions than prompting the same models to write Python for the same benchmark tasks?
Corpus
Use the checked-in benchmark corpus under benchmark/problems/. A publishable
run must use all 78 problems unless the results document clearly marks the run
as a smoke test.
Before a publishable run:
python3 scripts/validate_benchmark.py
python3 scripts/run_experiment.py --config experiment/config.frontier.yaml --dry-run
Conditions
Run every selected problem under every (model, language, trial) condition.
- Languages:
geno,python - Trials per condition: 3 minimum
- Temperature:
0.0 - Max tokens:
2048unless a provider requires a documented adjustment - Execution timeout:
5.0seconds per evaluation - Prompting mode: zero-shot unless the config records
few_shot_examples
The canonical config is experiment/config.frontier.yaml. Before running, set
the exact provider model IDs and snapshot metadata in that file. The runner
persists those fields in results/<experiment_id>/config.json.
Set GENO_EXPERIMENT_REPO_REVISION to the commit being evaluated before a
publishable run, for example with git rev-parse HEAD.
Required Artifacts
A publishable result directory must include:
config.jsongenerations.jsonevaluations.jsonmetrics.jsonreport.txt- the combined
results.jsonwritten byscripts/run_experiment.py --config
The raw generation artifacts are part of the result. Do not publish only the aggregate report.
Metrics
Report:
- pass@1 for every model and language
- pass@k when
trials_per_condition > 1 - parse success rate
- type-check success rate
- visible and hidden test pass rates
- aggregate Geno vs Python pass-rate delta
- difficulty breakdown
- error-category breakdown: syntax, type, runtime, wrong answer, timeout, incomplete
Publication Gate
Commit a result only when:
- the benchmark corpus validates cleanly
- the run config records exact model IDs and run date
- the result directory contains raw prompts, raw model responses, extracted code, evaluations, metrics, and report
docs/benchmark/llm-correctness-results.mdlinks the exact result directory and summarizes the topline claim without omitting failures
Rendered from docs/benchmark/llm-correctness-methodology.md in the Geno repository.