E-traces are the steering mechanism ReasonBlocks uses to guide your agent away from failure modes. When the health monitors detect trouble — or when the agent is on its first call — ReasonBlocks retrieves relevant guidance from the ReasonBlocks API and appends it to the system message. The agent reads that guidance as part of its context and adjusts its behavior without any change to the conversation history. There are three tiers, each operating at a different scope and with different retrieval logic. Understanding which tier fires when helps you reason about what guidance your agent is receiving at any given step.Documentation Index
Fetch the complete documentation index at: https://reasonblocks.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
The three tiers
- E1 — Instance-level
- E2 — Pattern-level
- E3 — Universal rules
E1 patterns are customer-scoped, retrieved by semantic similarity, and gated behind the health monitors.E1 retrieves the single most similar pattern (
top_k=1) from your organization’s pattern library. The similarity threshold enforced by the API is 0.8 — only a very close match triggers an injection. Because E1 queries involve a vector search, it is only invoked when the session shows signs of trouble.E1 fires when any of the following is true:- At least one monitor has fired on the current step (score ≥ 0.6).
- The composite monitor score on the current step exceeds 0.15.
- At least one monitor fired on either of the two previous steps in the session.
max_calls=1). This prevents repeated injection of the same instance-level guidance once it has been delivered.E1 is completely skipped — no query is issued — when the FSM is in
FAST state. When the agent is sailing through easy steps, instance-level guidance would add latency without benefit.How injections reach the system message
All retrieved patterns are assembled and appended to the system message as a single block:cache_control: ephemeral marker so it hits the prompt cache on every step. The [REASONBLOCKS] block rides uncached — its content varies per step, so it must never bust the base prompt’s cache key.
The
cache_control marker is a no-op on non-Anthropic providers. It is safe to use ReasonBlocks with OpenAI or Gemini models; the marker is simply ignored.FAST-state step), the [REASONBLOCKS] block is omitted entirely. The base system prompt is still wrapped with cache_control unconditionally so every step benefits from cache hits.
The E1 gate in detail
The E1 gate exists to avoid issuing vector search queries on every step of a healthy run. Pattern retrieval adds latency, and most steps in a well-functioning agent do not need instance-level steering. The gate uses a lookback window of two prior steps in addition to the current step’s signal:Summary
| Tier | Scope | Retrieval | Top-k | Similarity gate | Fires when |
|---|---|---|---|---|---|
| E1 | Instance | Vector search | 1 | 0.8 | Monitor fired or composite score > 0.15 |
| E2 | Pattern shared | Vector search | 2 | 0.7 (API-side) | Any scored step (not FAST) |
| E3 | Universal | Scroll-all | 32 | None | First call only |