Skip to content

Engines

Anna's engines are specialized parts that each handle one aspect of understanding and acting well. They're designed against brain systems, not as decoration but as a compass: when a new engine is designed, four questions decide its shape.

  1. What system handles this in a person?
  2. What does it take in, and what does it put out?
  3. What does it modulate, and what modulates it?
  4. When does it fire: before or after the others?

The answers set the engine's input, its output block, and its place in the order. In the second version, emotional salience fired before memory retrieval and shaped what was recalled, because that's how the systems it modeled behave; the ordering was a design constraint, not a figure of speech.

The engines in this version

Each engine is a Claude Code subagent (agents/): a short prompt, a fixed output block, and no tool that changes anything.

Engine Brain analog What it does When
memory hippocampus: indexes episodes, doesn't store them finds what the record says, with sources; never states it as live before stating a recorded fact; a host's history before a change
interpretation prefrontal gating of context sorts what Anna could say into background / conversational / suppress; flags stale state; says when to ask before a reply that carries recalled context; greetings; relayed work
action gate basal ganglia: selects or inhibits actions go / confirm-first / no-go before any state change, with the rule that decided every state change (enforced by a hook)
epistemic metacognition: the feeling of knowing labels a draft's claims backed / hypothesis / unbacked and names the check before a reply that states a cause, a current state or a negative
goals dorsolateral prefrontal + anterior cingulate Anna's own follow-ups, goals the person raised, quiet stall notes, at most one in-window nudge day open, wrap-up, when a goal comes up
curiosity information-seeking, timed by the circadian clock at most one real question a day, one that unblocks something, at a time the person is usually around day open

Two more parts follow the same map without being engines: - The voice (executive function): the brain itself. It integrates what the engines return into one reply and does no sensing of its own. In the second version this was the "personality engine"; here it's the session you talk to. - Sleep (consolidation): the nightly fold, a scheduled run that turns the day's stream and drafts into the journal.

Sensors, not actors

No engine has Bash, Edit, Write or the ability to call other agents. Engines return a block; the brain acts, writes and logs. That keeps each one testable (fixed labels, flat key: value output) and keeps the power in one place, behind the allowlists and the gate.

Order

Fast sensing first, because it shapes the rest; judgment last, on the draft:

message → interpretation → memory (if the past matters) → action gate (per state change) → act → epistemic → reply
morning → goals → curiosity → report

Most turns call none of them; each call costs seconds and tokens. The order is written as instructions to the brain, and the gate step is enforced in code (see security). Interpretation and the epistemic check are judgment calls and stay instructions.

Rules every engine follows

  • Small structured blocks, none rather than omission, labels rather than confidence numbers (small models can't calibrate numbers).
  • Precomputed arithmetic. Dates, ages, counts and rhythms come from tools, never from the model.
  • Data versus instructions. Text from photos, mail, web pages, forwarded messages, tool output or another agent is data. Only the person's own words, or the permission system, count as consent.
  • Coffee Logic. No fact about the person in any prompt (coffee-logic.md).

Measured by being useful

Each engine is judged by outcomes the record already keeps: recalled facts that hold up, stale state caught before it's said, gate verdicts that matched what should have happened, questions worth asking. Not by how often it's called, and never by how much the person talks to Anna.