Give an App context
Four kinds of context: one-off files, a reusable brief, a searchable corpus, and facts kept across runs, and how to choose between them.
An agent only knows what you give it. "Context" is that material: the design doc, the meeting notes, last quarter's spreadsheet, the fact that your client prefers email.
There are four ways to supply it. They differ in how long the material lives and how it reaches the model — handed over whole, or searched and sampled.
Pick one
| You have | Use | What it is | Reach for it when |
|---|---|---|---|
| A file or two, this once | A one-off file | A file you upload. | You will not reuse the material. Nothing to name, nothing to clean up. |
| The same handful of documents, run after run | A bundle | A named, reusable brief: a handle plus its items. | The grounding is stable and small enough to hand over whole. |
| More material than fits in one prompt | A dataset | A searchable corpus. A chat turn searches it by meaning and reads back the passages that matter | You have hundreds of pages, or you do not know in advance which part is relevant. |
| Facts that should survive the run | Memory | Facts an agent writes in one run and recalls by meaning in a later one | The agent should get better at your work over time, not start from zero each time. |
The first two put material into the prompt. The second two are searched by meaning, so the size of the corpus stops being the limit.
Searching a dataset and recalling memories are two different agent behaviours, and a run binds one of them. A single turn does not do both.
One-off files
Upload the file and keep the reference it gives you. Nothing is named, and nothing outlives the file itself.
The same file always produces the same reference, so uploading it twice stores it once.
A reusable brief (a bundle)
A bundle is a named handle — namespace/collection/name — holding one or more items.
Author it once and keep it under that name.
Open Context and make a bundle: name it, add the documents that belong together, and say what it is for.
Editing it later is the same screen — replace a document, drop one, or change the description. The bundle keeps its name, so nothing you have already pointed at it breaks.
A bundle's own identity comes from its handle and its items: writing the same items to the same handle again changes nothing. See Bundles.
A corpus to search (a dataset)
A dataset is a body of documents that is searched rather than read whole. You ingest once; each query returns the passages that match by meaning, not just by keyword.
In the console, open Context and pick a dataset to see what has been ingested into it and to search it yourself, in the same words you would give an agent.
Facts that persist (memory)
Memory is the only one of the four that a run can write. You can also seed and read it yourself.
In the console, open Context and go to memory: you can read what has been remembered, search it in plain language, and forget an entry you do not want carried forward.
For an agent to remember and recall on its own, the run has to be one that grants it the remember and recall tools. See Memory.
Memory that survives a run needs a runtime configured for it. Where it is not configured, the memory commands answer that memory is not available, rather than pretending to store anything.
Memories are scoped to the party that wrote them, and any one of them can be erased.
When context does not fit
A model reads a fixed amount of text at once, so the attached material is held to a budget inside that limit.
When it fits, it is passed through unchanged, byte for byte. When it does not, the runtime keeps the highest-relevance items that do fit and writes a visible line into the prompt saying what it dropped. The line looks like this — the counts here are made up, yours will be your own:
[context truncated: kept 2/3 items, dropped 5120B]The model sees that line. Nothing is trimmed silently.
Two properties follow:
- The cut is deterministic. The same items and the same budget produce the same prompt, every time — so re-running re-reads exactly the text the first run read.
- An item too large for the budget fails closed. There is no half-document. If even the most relevant item will not fit, the run stops with an overflow error instead of feeding the model a fragment it has no way to know is a fragment.
If you keep hitting the cap with whole documents, that is the signal to move from a bundle to a dataset — searching a corpus is the design that does not have a size limit.