Architecture
How reasoning works
Annet does not send every check-in to one large model. A fast first pass handles routine matching, then a controller wakes only the specialists likely to have something useful to add.
A check-in arrives
> managed 3km before work
tue 07:42Plain language by default. Goal tags are optional, and a check-in can arrive as a small form when that is more convenient.
System 1 scores it
worked examplemicroseconds · no model call
- managed
- → manage
- stem
- 3km
- → distance term
- lexicon
- before work
- → morning pattern
- learned, this user
slightly positive · deterministic, negation-aware
The check-in matches the running goal even though it never says “run.” Sentiment and energy use the same fast path. If your device has already matched the goal, no model is needed; the server calls one only when the match is still unclear.
A controller decides who wakes
- + prior
- + evidence
- + novelty
- + uncertainty
- − cost
- − cooldown
- runs
- exploration pick
- displaced by it
Each cycle has a hard cap and a token budget. The budget is usually the tighter limit, so only about five specialists run.
Without some exploration, the same specialists could win every time while quieter ones never build a track record. The controller sometimes lets a lower-scoring candidate replace the weakest pick. That keeps the system curious without spending beyond the limit.
System 2 weighs in, rarely
the exception, not the default · schema-constrained, no prose
Only the specialists the controller selects reach System 2, and even then it is a schema-constrained pass that returns a typed update rather than prose. It is explicitly instructed to treat System 1’s signals as evidence, not conclusions. System 1 is not a preliminary pass that feeds the model; it is the path almost every check-in takes without ever reaching one.
The mesh
small agents · layered by scopeEach layer sees only the context it needs. The voice that reaches you works from those shared signals instead of making a separate guess.
Stacked layers of the agent mesh. The voice layer converges on the user. The cross-goal layer spans separate goals. Oversight watches the system itself. Per-goal specialists cluster around individual goals. Most nodes are dim.
Speaks from what the lower layers already established
Runs per check-in, through deliberation
The only layer that sees relationships between goals
Scheduled overnight, in dependency order
Watches the agent system itself, not your goals
Deterministic queries first, a model only on a finding
Each specialist watches a single goal
Selected within a small per-cycle budget
- model-backed
- deterministic-first
- goal
- awake this cycle
- exploration pick
Most of the mesh stays dark. Those specialists were considered and left asleep because there was no good reason to spend on them this cycle.
- 40-50
- small specialists across the mesh
- 4
- layers, scoped by what they can see
- 15-20
- candidates considered for a goal
- 4-6
- specialists usually awake for that goal
Later steps choose the smallest suitable model, stay within a continuously refilling budget, and decide whether an observation is worth showing you.
Start with one goal