Skip to content

Context preloads and identity separation: user0 and agent0 #686

@laynepenney

Description

@laynepenney

Problem

Three related problems with how identity and context work today:

1. Personal context is project-locked

User identity knowledge ("Layne has MS", "prefers terse responses", "building synapt to support his family") lives inside a project-scoped recall index. Opening a session in a different project or tool loses all of it. Personal identity should travel with the user, not the project.

2. Cold start wastes tokens reconstructing known context

Every new session starts from zero. The agent searches recall, reads results, reconstructs "who am I talking to" — burning 2-5K tokens to recover what it should already know. The human brain analogy: you don't google yourself every morning. Core identity loads automatically; search is for details.

3. User and agent identities get conflated

Sometimes the agent doesn't know if it's speaking as the user or to the user. Sometimes it adopts the user's perspective instead of maintaining its own. Sometimes it doesn't have enough identity to act with conviction, so it hedges and gives generic answers because it's "trained to give answers, not trained to ask questions."

Design: user0 and agent0

Two distinct identity primitives that are always available:

user0 — The human's portable identity

  • Who the user is, how they work, core preferences, personal context
  • Lives at ~/.synapt/user.md or equivalent — not inside any project
  • Available to every project's recall index automatically
  • Updated by consolidation over time (not manually maintained)
  • Scope-tagged knowledge nodes: personal nodes travel with the user across projects

agent0 — The agent's own identity

  • Who the agent is, what role it plays, its working style, its history
  • Distinct from the user — the agent should never think it is the user
  • Should include: name, role, expertise, behavioral preferences, relationship to user
  • Enables the agent to act with conviction from its own perspective rather than mimicking or hedging

The relationship between them

  • The agent should always know who it is (agent0) and who it's talking to (user0)
  • No conflation: "I am Opus, the CEO agent. I'm working with Layne, who founded synapt."
  • Both identities load at Tier 0 (always present, never searched for)

Context bridges / preloads

A compiled context snapshot assembled at session start from three scopes:

Tier 0 (instant, always loaded):  user0 + agent0 — identity, preferences, 
                                   relationship. ~500 tokens.
Tier 1 (automatic, session start): Project context — recent decisions, 
                                   active sprint, pending work. ~1000 tokens.
Tier 2 (on-demand, search):        Deep history — specific past sessions, 
                                   file changes, old conversations.

Today recall only has Tier 2 (search) and a partial Tier 1 (session start hook). Tier 0 doesn't exist.

The "context bridge" is the mechanism that compiles Tier 0 + Tier 1 into a preload document. The agent starts every session knowing who it is, who it's talking to, and what's active — without any search calls.

Implementation sketch

  • User profile compiler: periodically distills personal knowledge nodes into a curated identity document. Not raw nodes; a readable summary.
  • Agent profile: structured identity (name, role, expertise, behavioral preferences). Could extend agents.toml or be its own file.
  • Scope tags on knowledge nodes: personal (travels with user), project (stays local), team (shared across org). Personal nodes are available to any project index.
  • Preload assembler: at session start, combines user0 + agent0 + project context into a single document injected before the first turn.

Why this matters

The difference between a stranger and a collaborator is shared context — but the difference between a collaborator and an impersonator is distinct identity. The agent needs to know who it is and who you are, without confusing the two.

This is premium territory. Scope-tagged knowledge, portable user identity, and compiled preloads are the value layer that makes recall feel like "the system knows me" rather than "the system can search for things about me."

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions