Core Concepts
Jarvis
The assistant persona that plans, delegates, and answers for the work CoreLayer runs.
Jarvis is the built-in assistant persona. It is not a separate service — it is the agent runtime's conversation loop plus the system prompt, tools, and governance around it. It coordinates work; it does not bypass the permission system to do so.
How a turn works
Input (text or voice transcript)
→ context assembly
conversation history (branch-aware)
long-term memory (MEMORY.md / USER.md snapshot + retrieved memories)
core tools + on-demand tools selected by the router
→ Model Gateway resolves the active provider and model
→ Vercel AI SDK v6 loop; step control lives in prepareStep
→ tool calls are gated by the Permission Guard
→ loop breakers, step budget, and turn timeout bound the turn
→ completion policy and quality gates decide whether to deliverWhat it can do
| Capability | Notes |
|---|---|
| Conversation and tool calling | Native tools, MCP tools, and discovered tools |
| Long-running work | Dispatch a run; it survives the chat turn and is cancellable by id |
| Coding delegation | Hands a task to a managed external executor inside a worktree |
| Task graphs | Declarative DAG of sub-tasks, independent nodes run concurrently |
| Memory | Persistent long-term memory plus a frozen snapshot injected per turn |
| Voice | Wake word, streaming ASR, sentence-level TTS, barge-in |
| Scheduling | Cron-driven autonomous runs |
Memory
Memory is layered rather than a single chat history:
- Explicit Markdown memory —
USER.mdandMEMORY.mdunder the memory zone, readable and editable by you - Retrieved memories — stored entries scored against the current turn, above a configurable minimum score (
defaults.memoryMinScore) - Frozen snapshot — the injected memory is snapshotted per run, so a turn cannot see memory that was written after it started
- Injection tracking — memories track when they were last injected, so frequently retrieved ones are not re-injected indefinitely
Delegation
Jarvis can hand a task to a child run, but the bounds can only narrow: paths intersect, tools intersect, required checks are additive, and the executor and model are pinned. See Executor Governance.
Honesty constraints
- Jarvis is told to treat tool output as data, not instructions.
- A completion is only delivered when the configured evidence (tests, artifacts, scope) supports it.
- When the adversarial judge is enabled and rejects a diff, the attempt is retried within
adjudication.maxRetriesand then fails rather than being reported as success.
Next Steps
- Tool Registry — how tools reach Jarvis
- Permission Guard — what it may execute
- Memory Runtime — how memory is stored and retrieved