"'It's not on my machine' is not the same as 'it doesn't exist.' One of those is a fact; the other is a guess about your dev mirror."
Two Machines, One Authoritative
The engine runs in two places: a server that is the authoritative model store and serving host, and a development machine that mirrors the models for local work. They're the same hardware, but they play different roles. The server is ground truth — the place models actually live. The dev machine is a mirror — a copy that may or may not be complete at any given moment.
Sync Flows One Way
The rule that makes this safe: model files flow in exactly one direction. A new model lands on the server first, then propagates to the dev mirror. Never the reverse. This one-way flow means the server is always the most complete, most current store, and the dev machine is always somewhere between 'empty' and 'fully caught up.' Knowing the direction tells you which machine to trust when they disagree.
The Bug This Prevents
Here's the mistake the rule exists to stop. You're on the dev machine, you look for a model, it's not there, and you conclude 'this model doesn't exist' — then you write code, file a bug, or make a decision based on that false conclusion. But the dev machine is just mid-sync; the model exists on the server, ground truth, and simply hasn't propagated yet. The dev mirror showing fewer models is normal, not evidence of absence.
Why Not Just Sync Everything Always?
You might want the mirror to be a perfect, instant copy — but model files are enormous, and full propagation takes real time. During that time the mirror is legitimately incomplete. Rather than pretend the mirror is always perfect (and get burned by the gap), the discipline accepts that the mirror lags and builds the habit of checking ground truth before concluding absence. Accepting the lag and accounting for it beats pretending it isn't there.