A personal OS that runs on your own machine, and a router that decides when that isn't enough.
Grove OS is a local-first personal OS with dual-model routing: a local Gemma model, and escalation to Claude.
It is scaffolded. A Tauri 2.x shell on Rust and React exists; the thing it would be does not yet.
The next action doesn't assume a restart. It reads if revived — and then asks for the one job Grove does that nothing else does. The file already nominates the candidate: the routing.
That condition is the honest part of this page. A local-first shell and a personal assistant are not scarce on this stack; several projects here want to be the one you talk to. Two models and a rule for choosing between them is the part that isn't duplicated elsewhere.
Everything else waits on that: if the routing isn't worth building, nothing under it is.
Two answers available, and the choice between them is the product.
Local: Gemma
A model running on the machine itself. Local-first is the premise, not a fallback — the near answer is the default answer.
Escalation: Claude
The second path, out and away from the machine, for the requests the local model shouldn't be the one to take.
The rule between them
Dual-model routing is the named job: deciding, per request, which of the two answers it gets. That decision is the hero above.
Scaffolded, on the backburner, waiting to be revived or not.
The repo exists — Tauri 2.x, Rust and React — and the work stops there. Nothing about the state of the code is what's blocking it.
The re-entry notes are still empty: the two or three things future-you needs to pick this up cold have not been written. The status was logged as a best guess — still to be confirmed at review zero.