"Don't paste the portfolio into the question. Give the brain a way to look, and let it look when it needs to."
Two ways to give an assistant context
When you ask Pippa about the portfolio, it needs to know the portfolio. There are two ways to make that happen. The tempting one is context-by-copy: Keep serializes the whole portfolio into text and pastes it into the message before sending — a pre-chewed prompt. Keep refuses this. Instead it uses context-by-reference: Pippa reads the live selected scope on demand through the authenticated read-only host tools (status, read, search) at the moment it actually needs the data. Portfolio truth is never copied into the message request as a pre-chewed blob.
Why pre-chewing is worse than it looks
Copying the portfolio into the prompt seems simpler, but it introduces three quiet problems. First, staleness: the copied snapshot is frozen at send time, so a long conversation reasons about numbers that may have moved. Second, scope leakage risk: whatever you dumped into the prompt is now in the context regardless of which scope should apply — the copy doesn't respect the Dad/Mom/Family boundary the way a live scoped read does. Third, waste: you shove the entire portfolio into every message even when the question only needed one number. Reading on demand fixes all three — fresh, scoped, and only what's needed.
Fresh and scoped, every time
Because Pippa pulls through the host adapter at the moment of need, two good properties fall out for free. The read is always current — it reflects the portfolio as it is now, not as it was when the conversation started. And it always respects the selected scope — if you're in the Dad scope, the live read returns Dad's data, and Mom's detailed holdings are not silently swept in. The scope boundary you met in Track 1 is enforced at read time, on every read, rather than being frozen (correctly or not) into a prompt copy that then can't adapt.