Envelope and Iris

Iris is the local index. Envelope is the receipt for every Intelligence call — bytes kept, never source code.

Iris remembers the repo. Envelope proves an agent did not dump it.

Iris and Envelope are two sides of the same Console screen (#/iris). Iris is the index — maps, graphs, DNA, health, landmarks. Envelope is the ledger of what agents asked for, and how much they took.

Nothing in the ledger is source code. Nothing is uploaded.

An Intelligence CLI call writes a receipt the same way:

prism dna
prism prepare "add caching to fetchUser"

In one sentence

Every time an Intelligence tool answers, Prism writes a tiny receipt: which tool, how many items came back, whether the list was cut short, and how many JSON bytes that answer used. Iris shows those receipts for the repo you have selected.

Why this exists

Agents are greedy. A naive search_symbols for the letter e can match hundreds of names. If the tool pretends the list is complete, the agent believes it saw everything. If the tool dumps the whole graph, the chat fills with noise and your token bill goes up.

Envelope does two honest things:

  1. Lists admit they were cut. truncated: true plus a real totalCount. Fifty items of sixty is not “here is everything.”
  2. Bytes are measured. Iris compares bytes kept vs a full dump, so you can see whether this week’s chats stayed lean.

What you see on Iris

Open the Console at http://prismhq.localhost:17330/#/iris and pick a repository.

BlockWhat it means
Index factsHealth, testing, landmarks for the selected repo. Not a map.
Envelope scoreboardBytes kept vs dump, change vs last week, how often a truncated list was followed by a tighter call.
Last prepareIf someone called prepare_change, the pack, reuse hits, and House Style exemplars for that task.

Empty week copy is “no Envelope sessions” or . It is never 0%. Zero would mean “we measured nothing and called it nothing.”

Follow-through (did the next call add a path, a tighter pattern, or find_symbol?) is heuristic. The byte ratio is measured.

What is written, and where

Path: ~/.prism/envelope-ledger.jsonl (or PRISM_HOME if you set it).

Each successful Intelligence call appends one JSON line:

{ ts, tool, itemCount, totalCount, truncated, limit, jsonBytes }

Never in the line: prompts, file paths, file bodies, or source code.

An older {repo}/.prism/envelope-ledger.jsonl is read-only fallback. The file is local. It is never uploaded.

Talk in chat

You do not call Envelope. It records itself.

You sayWhat happens
“What is this repo?”DNA / overview — a receipt is written
“Search symbols for user”search_symbols — if there are more matches than the cap, truncated is true
“Prepare a change to add caching to fetchUser”prepare_change — Iris shows that pack under the repo

Ask “show me Envelope” or open #/iris when you want the scoreboard.

When this is wrong

  • A missing ledger is not a score of zero. Wait for a real Intelligence call.
  • Follow-through is a habit signal, not a grade. A 30-minute gap starts a new session window.
  • Inferred graph edges on Iris are not load-bearing until you open the file. See signal provenance.

Prepare a change · What is Prism · The Envelope concept

On this page