--- description: >- Deterministic, harness-driven context preparation on the first turn of every new conversation - so the agent never starts cold. icon: sparkles --- # SuperContext A fresh chat shouldn't start cold. **SuperContext** makes the agent gather relevant background _before_ it reads your first message — automatically, on every new thread, without you asking and without waiting on a tool call. Most agents start a conversation blank and only fetch context if the model decides to call a "look things up" tool. That adds a round-trip, costs tokens, and depends on the model choosing well. SuperContext flips it: the harness itself prepares context up front, deterministically, so the very first reply already knows the relevant memories, files, and connected data. *** ## How it works On the **first turn of a new thread**, if SuperContext is enabled, the harness: 1. Spawns a read-only `context_scout` sub-agent. 2. The scout sweeps your available data — the [Memory Tree](obsidian-wiki/memory-tree.md), workspace files, and connected integrations — and assembles a bounded **context bundle**. 3. The bundle is validated, then prepended to your message under a `Prepared context (super context)` header before the orchestrator model ever sees the turn. 4. The model answers your message already grounded in that context. ```text New thread, first message │ ▼ ┌──────────────────────────────┐ │ Harness gate (deterministic) │ │ super_context_enabled? │ └───────────────┬──────────────┘ │ yes ▼ context_scout (read-only) sweeps memory + files + data │ ▼ [context_bundle] … [/context_bundle] │ validated & extracted ▼ Prepended to your message → orchestrator ``` Because the scout is **read-only**, it can never take an action on a fresh thread — it only reads and summarizes. And because it runs in the harness rather than as an optional tool, the redundant `agent_prepare_context` tool is suppressed for that turn, so the agent doesn't do the work twice. The scout runs on the **`burst` tier** (`hint = "burst"` → `burst-v1` on the managed backend) — a cheap, high-throughput, non-reasoning model. The sweep is a latency-tolerant pre-flight pass, so raw throughput on a fast model is a better fit than the pricier agentic/reasoning tiers. See [Automatic Model Routing](model-routing/README.md). *** ## Safety and robustness The scout returns its findings wrapped in `[context_bundle] … [/context_bundle]` tags. Only the bracketed envelope is ever injected — any surrounding prose the model emits ("sure, here's what I found…") is stripped out. If the bundle is missing, malformed (unterminated, reversed, or duplicated tags), or empty, the turn proceeds **gracefully without augmentation** rather than injecting garbage. A cold start is always preferable to a broken one. *** ## Turning it on or off SuperContext is **on by default**. * **From the composer.** A **Super Context** toggle appears below the chat input on a fresh thread. The flag is read when a thread is constructed, so toggling it affects **newly started threads**, not the one you're already in. * **Config.** `context.super_context_enabled` (boolean, default `true`). * **Environment.** `OPENHUMAN_SUPER_CONTEXT` (or `OPENHUMAN_CONTEXT_SUPER_CONTEXT_ENABLED`). * **RPC.** `get_super_context_enabled()` reads the flag; `set_super_context_enabled(value)` sets and persists it. *** ## See also * [Memory Tree](obsidian-wiki/memory-tree.md) — the primary source the scout reads from. * [Auto-fetch from Integrations](obsidian-wiki/auto-fetch.md) — keeps that source fresh between conversations. * [Subconscious Loop](subconscious.md) — the other side of "keeps thinking when you've stopped typing."