The OpenGradient thing that kept dragging me back was not the Blob ID.

Worse.

The cache.

Because once one OPG inference node keeps the old artifact warm one call too long, same OpenGradient model name starts lying.

That part.

Same OpenGradient model name up top.
Different artifact underneath.

Good luck explaining that cleanly.

Anyways.

I keep picturing two OpenGradient calls landing a minute apart. Same model name in the panel. One route hits the updated artifact from Model Hub. One inference node serves older cached artifact because it was already there, already warm, and nobody felt like making that boring distinction visible to the user.

So now both outputs land under the same OpenGradient name. Right?

Nice.

That's HACA again. Inference nodes keep the model warm locally because nobody wants every OpenGradient call waiting on Model Hub and Walrus every time. Fine. Full nodes settle later. Blob IDs exist. Versioning exists.

And the old artifact still answers if cache gets there first.

And the user can still hit yesterday. Lovely.

That's where it gets ugly to me.

Because by the time support opens OPG trace, the damage is already social before it is technical. One user got the updated artifact. Another got the cached one. Same OpenGradient model name. Different artifact lineage sitting underneath.

I've seen people call that "same model" with a straight face.

I don't trust that label once cache gets involved.

Never do.

Quiet OpenGradient row. Clean OpenGradient answer. Everybody acting like "same model" means same thing. Until somebody asks why the outputs disagree and now the trail has to explain cache state, Model Hub versioning, Walrus Blob IDs, node-local artifacts... all the garbage that was supposed to stay backstage.

So what exactly is the user calling on @OpenGradient ?

An OpenGradient model?

Or just whatever that inference node still had warm when the request hit it?

$OPG #OPG $M $NES