"Offline must be real. Online must be great. Neither is allowed to drag the other down."
Two Leaks, Opposite Directions
There are two ways to get the offline/online relationship wrong, and they leak in opposite directions. The first you already know: an offline request quietly reaching online — the privacy leak from the last lesson. The second is subtler and just as damaging: online quality quietly dragged down to offline's level. It usually arrives disguised as tidiness — "let's keep online and offline consistent" — and the result is a full-Pippa cleanup crippled to match what a tiny local model can do.
The Rule: Capable, Not Constrained
Firekeeper's phrasing is precise: offline must be capable (it genuinely works with no network), but online must not be constrained by it. Online cleanup gets the full vault, the real Pippa voice, the better model — because that's the point of being online. Offline cleanup gets a compact local protocol that does less, honestly. The two are allowed to be different because their contexts are different. Forcing them to be identical wastes whichever one has more to offer — and online always has more.
Leak A (privacy): offline request -> silently hits online # last lesson
Leak B (quality): online cleanup -> capped to offline's limits # this lesson
Rule: offline is CAPABLE (works with no net)
online is UNCONSTRAINED (uses the best path available)
same contract, different ceilings -- on purpose
Why This Is Hard to Hold
The pull toward false consistency is strong because consistency feels like good engineering. But 'make them the same' is the wrong kind of consistency here. The thing that should be consistent is the contract — same request shape, same result shape — not the capability. Consistent interfaces let you swap providers freely; consistent capabilities would mean your best provider is only as good as your worst. Hold the contract steady and let the ceilings differ.