"Flint knows how to grab the words and put them back. It does not know how to think. That line is the whole architecture."
Two Halves, One Call
Flint is one half of a two-part system, and the halves meet at a single narrow point: one request across a boundary. On Flint's side is everything physical and local — the gesture, the target, the macro list, the shortcuts, the insertion. On the other side is everything intelligent — the model, the persona, the effort, the actual transformation. Between them is not a shared library or a tangle of calls; it's one finished prompt going out and one transformed string coming back.
The Client Half
Flint's half is the part you can see and touch. It captures which app and which text you meant. It stores your macros and their chords locally. It renders a prompt. It proves the target and inserts the result. None of that requires understanding language — it requires understanding macOS, focus, pasteboards, and safety. Flint is, in a sense, a very careful pair of hands with no opinion about what the words should become.
The Brain Half
The other half is the part you never see inside Flint, because it isn't there. Which model runs, whether a persona is applied, how hard the model thinks, where inference happens, and every credential that makes it possible — all of that belongs to the borrowed brain. Flint doesn't route models or hold keys; it names a choice ('this macro, local tier, vault bypassed') and hands the finished prompt across. The intelligence is a service, and Flint is its client.
FLINT (client half) | BORROWED BRAIN (intelligence half)
-----------------------------|------------------------------------
gesture / hotkeys | which model runs
target capture | soul / persona
macro CRUD (local) | effort level
prompt rendering | the actual inference
guarded insertion | all credentials & routing
|
one request ---> | one transformed string <---
Why the Line Is Drawn Narrow
The narrowness is the point. Because the only thing crossing the boundary is a prompt and a result, you can change either side without disturbing the other. Swap the model, add a new persona, move inference from local to a server — Flint doesn't change, because it never knew those details. Rewrite Flint's insertion logic — the brain doesn't care, because it only ever saw a prompt. A wide boundary couples two systems into one you can't reason about; a narrow one keeps them two.