This looks great!
This last comment made it clearer to me.
So basically a model is a repo and a version is a branch.
I guess by default everything is on the “main” branch.
So:

a new model requires a new repo (are they auto-created?)
then we just push files to a specific branch

A few questions:

Who is the repo owner?
How is the repo named? Just the model name?