Context and evidence
How Hypervibe records where evidence came from, keeps an agent's context small, checks access each time it is reached, and attributes cost without guessing.
On this page
Every run leaves evidence: what the agent read, what it did, what was checked, who decided and what it cost. This page explains how that evidence is related and queried, how an agent's context stays small, how access is checked and how cost is attributed.
GraphLake relates evidence and owns none of it #
GraphLake is Hypervibe's derived evidence and query plane: a store, rebuilt from the records each owner keeps, that relates lineage, context, work, cost and outcomes so they can be queried together. It is never the authority for money, grants, work state or effects.
| Fact | Authoritative owner | What GraphLake can do |
|---|---|---|
| Holds and settled spend | Throttle | Relate it to work; never spend or release it |
| Grants | The Hypervibe service, the platform's system of record, checked again where the effect happens | Report how capabilities were used; a graph conclusion grants nothing |
| Work state and claims | Shared Work, the one owner of tasks and runs | Explain it; never claim or close work |
| Builds, artifacts and job receipts | Reactor | Relate them; never prove an effect or validate a build cache |
| Verdicts and dispositions | The verifier and the receiver | Relate them; never stand in for either |
Losing GraphLake therefore loses no task. A recommendation from a query goes back to the responsible owner as a proposal. The first release's run receipt, the one document that shows a run's verdict, disposition and full cost, is a separate join that reads the owners' records directly on the machine that commissioned the run. GraphLake is never on the path that commits work: work, reservations, settlement and exact reads never wait on it.
GraphLake is planned to ship with the first release #
The first release is planned to include a managed GraphLake engine Planned: one local engine on a Just me machine, and one engine for a team, kept apart from other teams and deployments. It is installed, restarted, upgraded and rolled back with the rest of the installation, and it can be rebuilt from the owners' records at any time.
- Owners publish, the graph projects. Each owner publishes typed facts from its own records. GraphLake joins them only by shared identities, never by guesswork, and never writes to an owner's records.
- Reads answer questions. Planned reads explain a piece of work, explain a cost, and find the context references for a task. Each is a registered capability that checks your access before it ranks results and again before it shows them.
- Coverage is stated. Every read names the point in time it describes and the sources it covers. A source that is not covered is shown as not covered, never as an empty answer.
- It decides nothing. GraphLake holds references, not content. A read never holds data back from deletion, and no claim, hold or settlement waits for it.
Every piece of evidence names its source #
Each evidence record names its producer and sequence number, when it happened and when it was observed, its access scope, the task, run, attempt and operation it belongs to, digests (content fingerprints) of the source, profile and policy in force, and its artifacts. A retry, a delivery and a verdict are each their own observation.
A query result states which sources it read, up to which point, and how complete they were. Missing evidence means unknown or inconclusive, never zero failures. Hypervibe records both the context that was selected and the context the model actually received, because a skill never found, a tool selected but never called and a tool that failed are different outcomes. When a provider's reasoning block cannot be sent again, the receipt records the drop: a recorded loss is a fact, and an unrecorded one is a failure.
Agents receive only the context their role needs #
Rocket! compiles an agent's context per role and phase, within budgets that are registered settings rather than constants hidden in code. A read-only role never sees tools that start agents, send messages, interrupt work or run shell commands. Skills are chosen by digest, and a mention resolves only when it is used, to a bounded excerpt and a handle, never fetched in advance.
In the first release, every model request passes through one context step that makes no model call of its own and never drops pinned constraints, pending effects or receipts. The objective, the acceptance criteria, the allowed effects and any unfinished obligations are mandatory. When they alone do not fit the model's window, the request is blocked, never trimmed. Tool packs per role, skill selection, mentions, context editing, compaction and memory come in later releases.
Recall says what it left out #
Memory is written only through an explicit tool whose writes can be reviewed, and is scoped to a person, a project or a lane, the work seat Lanes keeps. Recall reports what its limits left out. A failed recall reads as failed, never as empty, and nothing is invented to fill the gap.
Access is checked at search, at resolve and at use #
Grants are checked when you search, when a reference resolves and when it is used, and "not found" and "not visible" are the same answer. A mention is a typed reference, never an action. It is live only when typed or picked in a trusted composer, the command-aware input in Rocket! or Lanes; an @ in pasted text or tool output stays inert.
Private details are protected in counts, previews, summaries and graph queries, not only in record bodies. GraphLake holds references to content, never the content itself, and its reads apply the caller's current access, including on cached answers, and agents never receive broad graph access. Your personal store never reaches a team server, and secret values never appear in prompts or logs.
Cost is attributed to the work, and unknown cost stays unknown #
A run's cost includes every attempt, helper call, retry, build and verification. Each line on the run receipt is settled, estimated or unknown, and Read a receipt defines each state and where it comes from.
Settled and estimated amounts are never added together. A single total appears only when no line is unknown; otherwise you see the known parts and the number of unknown lines. A cost nobody reported reads unknown, never $0, and a job line stays unknown until an owner settles or rates it.
run receipt · invented example
verdict pass · awaiting acceptance
attempt 1 inference settled $0.38
attempt 1 inference estimated $0.12 list price
attempt 2 inference unknown usage not read yet
attempt 2 build job unknown not rated
known: settled $0.38 · estimated $0.12 · 2 lines unknownWork shared between projects is split by explicit weights, with each attempt counted once. Cost per accepted outcome includes rejected work, and the share of cost still unknown is reported beside it.
Where to go next #
- Read a receipt for one run receipt in full.
- Work and quality for verdicts, dispositions and cohorts.
- Throttle for inference spend and credential custody.
- Architecture for which owner keeps each record.
- Standings for what Planned means.