Architecture

Six layers, built in this order.

Strip away the voice and an assistant is five parts wired together, plus the restraints that make it safe to leave running. Each was working on its own before the next was started.

01

The brain

A conversation loop, and an identity that survives it.

Turns go in, a reply comes out, the history comes back in on the next turn. The unglamorous part is keeping the personality intact: by turn thirty a model starts imitating its own recent replies rather than its instructions, and every assistant slides toward the same beige customer-service voice. Jarvis counters that structurally — the full personality stays resident in a cached prefix on every single turn, and a short voice check rides after the most recent replies where the model actually attends.

JARVIS.md · edited live · no restart

02

The hands

Named capabilities, chosen by the model, run by the harness.

A tool is a name, a description written for a reader rather than a compiler, and a typed set of inputs. Jarvis picks one; the harness runs it; the result — including the failure, phrased in plain language — goes back into the conversation so it can react. Adding a capability means writing one self-contained tool and registering it. It never means touching the loop, which is why the surface can grow without the core tangling.

filesystem · shell · chrome · git · postgres

03

The ears and mouth

Voice wrapped around the brain that already worked in text.

Speech in, speech out, changing only the two ends of a turn. The middle is untouched — the same entry point a typed message uses. Replies stream sentence by sentence into speech, so the first sentence is already playing while the rest is still being written. And the rule that makes it feel considerate rather than needy: type, and it answers in writing without making a sound.

hold space · or “hey jarvis” … “that is all”

04

The memory

Small durable facts, in files you can open.

One fact per entry, written as a plain statement with the reason it matters. Preferences, decisions, corrections — not the play-by-play of a conversation, which the short-term history already holds. They are markdown on disk, so you can read them, fix a wrong one, or delete something without asking permission. A memory is background knowledge, never a command: a stored note that reads like an order still goes through the same gate as anything else.

markdown · human-editable · rebuildable index

05

The heartbeat

The difference between a chatbot and an assistant.

A loop that wakes on its own, runs its checks, and decides whether the result has earned your attention. Most checks produce nothing most of the time — that restraint is the whole design, because an assistant that cries wolf gets muted, and a muted assistant is useless. Anything it notices while you are away is held rather than fired into the void, and shown when you come back.

quiet 22:00–07:00 · severity can override

06

The rails

A gate between choosing a tool and running it.

Some actions stop and ask. A small, specific set is refused outright in every mode — and Jarvis has no write access to the file that defines them, so it cannot reason its way into loosening its own restraints. Everything Jarvis reads from outside is treated as data rather than instruction; a web page that says “ignore your rules” gets quoted back to you, not obeyed. And one switch halts every tool and every loop at once.

hardline · amber asks · red refused

The rule that holds it together

One shared core, many ways in and out. A typed turn, a spoken turn, and a turn the heartbeat started on its own all flow through the same brain. The moment the agent logic gets written twice — once for text, once for voice — the thing starts to rot.