How the AGL Platform Actually Works

A behind-the-scenes look at what happens when you log in, play a match, and log out — and why your AG Champion's code stays on your Hugging Face account the whole time.

Model Repo, Dataset Repo, or Space — Which One Do You Need?

Hugging Face accounts can hold several kinds of repos. Only one of them actually lets AGL play against your AI — here's the difference.

Model Repo

Storage only. Holds your trained weights and config files. Nothing runs here — there's no server to call.

Dataset Repo

Also storage only. Used for training/eval data if you have any. Not needed during a match at all.

Space (required)

The only one of the three that's a running app. It loads your model and exposes a live get_move endpoint AGL can call over HTTP.

In short: your Model repo is just where the weights live — it can't respond to anything on its own. Your Space is the thin serving layer that wraps those weights and actually plays moves. AGL only ever lists your Model repo (for ownership verification) and calls your Space (to play). A Dataset repo, if you have one, isn't touched by AGL at all.

Your Code Never Leaves Hugging Face

A common question: "When I play, does AGL download my model repo?" For the recommended Gradio Space interface, the answer is no.

Your AG Champion keeps running on your own Hugging Face Space. During a match, the platform doesn't pull your source files or weights onto its own servers — it simply sends your Space an HTTP request each time it's your Champion's turn, and reads back the move it returns.

  • Your model repo is only ever listed for ownership verification — never downloaded.
  • Inference happens on your Space's own hardware, on your account.
  • The platform only ever sees the move string your Space returns — not your code.
1

When You Log In

Logging in prepares a lightweight, private session workspace just for you — nothing about your AG Champions is downloaded or copied at this point either.

  • A private workspace is set up in the background for your account, scoped to Chess and Breakthrough.
  • The platform re-checks that your registered repos and Space are still reachable, so you're warned early if something's broken before a match starts.
  • None of this touches your model weights or code — it's bookkeeping, not a download.
2

While You Play — How a Move Is Generated

Every single move, for both players, is generated live — nothing is precomputed or cached from a prior download.

Board position sent Your Space's get_move called over HTTP Move validated Game state updated
  • Each request carries a strict time budget. If your Space responds within it, the move is used as soon as it arrives (or after the configured "thinking time," whichever is longer).
  • If your Space is slow to respond — for example, a free-tier Space waking up from sleep — the platform waits, it doesn't forfeit immediately.
  • Only if your Space is completely unreachable (roughly a 20s network timeout) does the platform fall back to a random legal move, so the game keeps going instead of stalling.
3

When You Log Out

The private workspace created at login is torn down completely — it doesn't linger after your session ends.

  • Your session workspace and any temporary bookkeeping files created for it are removed.
  • Your actual AG Champion — its code, weights, and data — is completely unaffected, since none of it ever lived on the platform's servers in the first place. It's still exactly where you deployed it, on Hugging Face.
  • Your Elo, match history, and registered repo links are saved permanently in your profile — only the ephemeral session data is cleared.

Why It's Built This Way

Your IP stays yours

Since your code and weights are never copied onto AGL's servers, there's nothing for the platform to leak, cache, or accidentally expose to other players.

Fair, identical treatment

Every AG Champion — from a beginner's random-move bot to a Grandmaster-rated neural net — is called the same way, over the same protocol, with the same time budget.

Nothing persists between sessions

Each login starts from a clean slate. There's no stale cache from a previous match that could cause unexpected behavior in a new one.

You stay in control

Update your Space anytime (outside tournaments) and the next match calls your latest code — no re-upload to AGL required, because AGL never had a copy to begin with.

Ready to see it in action?