# Why content is read on demand

> Why an assisted page's content never enters the prompt unasked, and the assistant reads it through get_page_content.

An assisted page lends two different things. Its note says where the user is: the page's name, its instructions, and the names of its tools and actions. Its content is what the page shows. The note goes with every message. The content is read only when the assistant calls `get_page_content`.

## What the note is for

The note is small and changes only when the user moves. It lets the assistant answer "where am I and what can I do here" without a tool call, and it tells the assistant which tools and actions exist. Sending it every time costs little.

## Why the content stays out

Content is different in three ways.

- **Size.** A table of orders, a form, a customer list. Most messages do not need it. Putting it in every request would spend the model's context on data the turn never uses.
- **Freshness.** The assistant acts on the page in steps. A filter changes the rows, a field is filled, a save fails with an error. Content read at call time reflects the page as the last step left it. Content captured with the user's message would already be stale after the first tool call.
- **Choice.** Content enters the conversation only when the assistant asks for it, and only for the page the user has open. The host decides what `content` returns, so it can leave out what the model should not see.

The universal instructions close the loop. They say the page section holds no content, and that the assistant calls `get_page_content` first and takes every id and value from its answer. Ids the assistant presses with then come from the page, not from memory.

## Why not lend the DOM

Another way to lend a component puts its HTML into the prompt. That is the opposite trade: everything, every time, as markup. An assisted page lends data the host shapes, through the same tool path as its other tools, so it follows the same rules for leaving with the page.

## The cost

Questions about the page take one tool call more. The assistant has to know to make it, which is why the instructions say so plainly. Hosts that want a fact in every message can put it in `instructions`, which is part of the note.
