The Predictive Context Engine decides what an investment agent should actually see for a given task. It is a compiler, not a search box: every compose runs through nine stages and leaves a record you can audit months later.
Pack by value per token, then stop
Candidates are ranked by the value they add per token. Packing continues only while the next item clears a marginal-utility threshold. When it doesn’t, allocation stops, even with budget left over.
“Why not” is as auditable as “why”
Every item that was left out is recorded with its reason. When an answer is wrong, the question is usually what the agent didn’t see, and that is now a query rather than a guess.
Injection is a boundary, not a filter
Untrusted content is scanned and dropped rather than cleaned up, and low-trust sources are structurally barred from the instruction band. That rule is enforced in code and again by a database constraint, so a bug in one layer doesn’t open the door.
Clean up suspicious text, then pass it along with everything else. One missed pattern and it reaches the instructions.
Low-trust sources can never enter the instruction band. Enforced in code, and again by a database CHECK constraint.
It never hard-fails
An LLM summary degrades to a deterministic extract, embeddings degrade to lexical similarity, and a timeout returns a valid fallback instead of an error.
A learning loop that can’t approve itself
Every compose is content-addressed and snapshot-backed, so it replays byte for byte. The engine proposes its own policy changes from measured evidence, and is structurally forbidden from applying them. A person approves, and reverting is one click. Before it trusts its own measurements, it calibrates its LLM judge against human labels.
Leaving budget unspent looks like waste. It is the cheapest quality improvement I know.
Saad Al-Tamari