> ## Documentation Index
> Fetch the complete documentation index at: https://mantle.rasa.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Context Management

> How Mantle stays coherent without overwhelming the model.

A long conversation produces a lot of history. Mantle's job is to stay coherent
across all of it while giving the LLM only what it needs on any given turn. It
does this at three levels.

## The tracker

Everything that happens (messages, replies, tool calls, results, and every
change to what the agent knows) is written to an append-only log called the
**tracker**. This is the source of truth. It survives across turns and sessions;
if the same user returns, the history is still there.

The tracker is complete but large, which is exactly why it is *not* what the LLM
sees each turn.

## Scoped context

Mantle does not dump the full log into the LLM. Each turn, at step 2 of the
[runtime loop](/mantle/runtime-loop), it builds a **focused view**: the active
skill's instructions, only the tools that are relevant right now, and the memory
values that actually matter. Keeping the context tight is what keeps the agent
fast and on-topic, and it's how [guardrails](/mantle/guarantees) like `if:`
markers work: a stripped branch simply isn't in the prompt.

Memory is scoped per skill. A skill can mark values as **public**, and that is
how skills share results: after a skill completes, other skills can still read
its leftover public. Those values reset when that **same skill starts again**.
Facts that must last the whole conversation belong in project memory. See
[Memory](/concepts/memory) and [Lifetime](/reference/memory-yml#lifetime).

## Skill memory until the next run

A value set during a skill stays set when that skill **ends**, so a later skill
can still read leftover public without re-asking. It does **not** last the
whole conversation: when that same skill starts again, public and private
reset to each field's `initial_value` (`null` when unset). Put session-long
facts in project memory.

## Answering from references

When a user asks something no skill covers, Mantle searches your
[references](/concepts/references) and answers from what it found. If the
knowledge base has no answer, the model declines through the built-in
`cannot_help` tool rather than guessing, and the bundled decline skill delivers
the message. Redeclare its responses in your own `responses.yml` to change the
wording.

## Reference

Memory types and visibility are documented in the
[`memory.yml` reference](/reference/memory-yml).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.