A Look Lands in Someone's Context
When Pippa looks through Oriel, the answer does not go to a screen. It goes into the context of the model turn that asked: a picture and some text that the model must read, every token of it, before it can answer Dad. Context is the one resource a long conversation cannot get back. A look that returns three pictures and a page of JSON is not three times more helpful than one that returns one picture; it is three times more expensive, every time, in the one place the cost compounds.
So Oriel's tool contract for the eyes is unusually strict, and it is stated in the first lines of backend/looks.py: every answer is a little text and at most one JPEG; each action has a per-call token budget, image and text together; the answer states its cost; and a test holds every budget.
The Actions and Their Prices
A brain can ask for five reads (plus one more for the watch-along notes, which the last track covers):
| Action | What it reads | Picture | Budget (tokens) |
|---|---|---|---|
look | now: both decks side by side, or one input | 1536×648 or 1280×720 | 1,600 |
replay | the last N seconds (20 by default, 120 at most): up to nine keyframes with the most change | a 3×3 sheet, 1536×864 | 2,100 |
crop | a region of the original full-resolution frame, for small text | at most 1024×1024 | 1,600 |
frame | the exact frame at a given time in any session | as look | 1,600 |
sessions | the list of recorded sessions | none | 1,200 |
A play look that carries Dad's spoken words has its own row, play_look, at 2,100: the same picture as look and room for his lines, whole. It is not an action a brain can ask for, and it sits exactly at cwkPippa's own ceiling for a look, never above.
Why a Ceiling at All
The budgets come from a principle in Pippa's own notes about her largest vessel. A model with a very large context window is pulled toward monolithic designs: "just send everything, there is room". The family's counter-rule is to design every surface for the smaller windows of the other brains, and to treat context as a cost to be stated rather than a space to be filled. Oriel's eyes are where that rule is most concrete, because a picture is the most expensive thing a tool can return.
There is also a reason that has nothing to do with money. A small, predictable answer is easier for any model to use. One picture with a short line saying what was read ("game left, camera right", the moment it shows, the deck it came from) gives the model a clear object to reason about. A heap of frames invites it to describe all of them.
What Every Answer Carries
Beyond the picture, each answer carries a few fixed things: what was read and at which moment; any note the reader needs to trust it (a fallback that stood in for an absent device, a frame too old to call "now"); the cost (image_tokens, budget, total_tokens); and a look_id. The id matters later: cwkPippa keeps every picture a look returns, so Dad can see exactly what Pippa saw, and asks Oriel by that id whether the picture shows a person who should not leave the house.
One more field rides every look by default: the spoiler guard. When Dad plays a game for the first time, he guesses the lore himself, so Pippa's hints climb a ladder: a hint first, then the pattern, and the answer only when he asks. It is one short constant line in every look's answer, because the place to remind a model of a rule is the moment it is about to need it.