Skip to content
C.W.K.
Stream
Lesson 04 of 07 · published

Every Pippa Surface Can Take a Local Model

~12 min · fleet, tiers, local-optional, census, our-judgment

Level 0Spec-Sheet Skimmer
0 XP0/91 lessons0/19 achievements
0/100 XP to next level100 XP to go0% complete
"The census counts eight apps that break without local inference. The household's rule is wider: any surface that talks to Pippa can be pointed at a local model at any time. The eight are where it already is."

Three Tiers, One Door

Pippa's applications reach a model through a door that lists every available model with a tier prefix: local, the Ollama daemon on the Mac that is asking; server, the hub's daemon on the 512 GB Studio; cloud, the pinned cloud model the household's brain settings select. The door's own comment records the ruling behind the list — cloud models are contest-grade today and local ones are closing in, so every picker enumerates all three. The surfaces behind the door are the ones a family actually touches: the Sidekick in every app, Ask Pippa, completion, prompt macros, the prose editor's co-writing, and the sibling utility door itself. Each can be pointed at any tier by a setting, and the pipe is the same OpenAI-compatible shape whichever tier answers.

The Census

This quest read all thirty-seven family repositories on 2026-09-15 and sorted them by what happens when local inference is gone. Eight are LOCAL-DEPENDENT — a core function breaks: Pippa's own search and memory lookup, the image engine, the corpus engine, the voice sibling's on-device transcription, the music and drawing-construction engines that run their models on the CPU, and the two apps that call the image engine for guidance or inpainting. Seven are LOCAL-OPTIONAL — local by default or by a switch, degrading to cloud or to keyword search: the coding agent with its local leg, the video-memory engine, the prose editor, the video workshop, the soul-memory steward, the news and arena engines, and the iPhone apps that dictate on the device. Nine are cloud-only in practice, and the rest mention models or hold none. Nothing in the family uses Apple's Foundation Models framework, Core ML directly, llama.cpp or LM Studio — the journey track measured those doors; the family walks through MLX, Ollama and PyTorch.

Why the Count Understates the Radius

Eight of thirty-seven reads as a household that mostly does not depend on local inference. The household's ruling at the plan gate says the count is the wrong instrument: every Pippa-backed surface can take a local model at any time, so the radius of local is every app that talks to Pippa, which is nearly all of them. The census measures where local is required; the rule describes where it is available. The gap between the two is a design choice, and the reason for it is the next-but-one lesson: the cloud is chosen where quality wins, and the switch is left in place so that the choice can be reversed per surface the day a local model is good enough — or the day the cloud is not there, which is the edge track's last rung. A fleet built this way is not a local-first fleet or a cloud-first fleet; it is a fleet where the tier is a setting and the pool is what makes the setting real.

Code

tiers.py — the three tiers and the census, as read from the repositories·python
#!/usr/bin/env python3
"""Every Pippa surface can take a local model: the three tiers as the household's sibling
door enumerates them, and the census of which apps break, degrade, or shrug when the
local tier is gone. Read from the repositories on 2026-09-15; classes are this quest's."""
TIERS = {
    "local":  "the Ollama daemon on the Mac that is asking",
    "server": "the hub's daemon on the 512 GB Studio",
    "cloud":  "the Ollama cloud pin the household's brain settings choose",
}
CENSUS = {  # class: apps
    "LOCAL-DEPENDENT (a core function breaks without local inference)": [
        "Pippa (search, memory lookup)", "the image engine", "the corpus engine", "the voice sibling (on-device STT)",
        "the music engine (CPU)", "the drawing-construction engine (CPU)", "the drawing app", "the file workbench (inpaint)"],
    "LOCAL-OPTIONAL (local by default or by switch; degrades to cloud or keyword)": [
        "the coding agent (local leg, compiled mini protocol)", "the video-memory engine", "the prose editor", "the video workshop",
        "the soul-memory steward", "the news and arena engines", "the health, journal and travel iPhone apps (on-device speech)"],
    "CLOUD-ONLY": ["the text transformer", "the voice engine", "the quest workshop", "and six others"],
    "MENTION-ONLY or NO MODELS": ["the observability, hub, player, chronicle, sandbox and store engines", "the portfolio and guitar apps"],
}
print("tiers a surface can select, in the order the door lists them:")
for k, v in TIERS.items():
    print(f"  {k:7} {v}")
print()
for klass, apps in CENSUS.items():
    print(f"{klass}\n    " + "\n    ".join(apps))
# ruling (the household, plan gate): any Pippa-backed surface -- Sidekick, Ask Pippa, completion, prompt macros,
# co-writing, the sibling door -- can be pointed at a local model at any time; the census count understates the radius.

External links

Exercise

List the apps you use that call a model, and for each write which tier it uses today and whether that is a setting or a hard-coded choice. Put the count of local-dependent, local-optional and cloud-only on your card, then write the one surface you would move to local first and the model that would have to be good enough for it.
Hint
The first surface to move is usually the one that runs most often and needs the least judgment — completion, a reranker, a summarizer. The last is the one where the frontier's quality is the product: voice, long reasoning. That ordering is the cloud-by-choice lesson in advance.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.