Every model is a point on a graph: how good it is, and what it costs. Only the left edge becomes a dial — a model earns a level when nothing else is both better and cheaper.
There is no database and no login. The list lives in models-gdpval.json in a public repo. Edit it, commit, and every install picks the change up within the hour. No release.
Pick who is signed in. Losing a provider is a different dial, not a filtered one: a model another vendor's was shadowing comes straight back.
| level | elo | $/task | provider | model | effort |
|---|
Nothing plotted for those providers yet.
0 models. A model can sit here holding no level, because something else is better and cheaper — that is the graph doing its job, not a mistake.
| level | provider | model | effort | elo | $/task |
|---|
This writes nothing. It builds the entry so the three things that cannot be guessed are right — which CLI runs it, the exact model string, and an effort that CLI actually accepts — then you paste it into the file and commit.
gpt-5.6-sol or gemini-3.7-flash-high is in no catalogue.