Rarebit

A Pi extension for long sessions

Keep the rare bits.
Leave the traffic.

Rarebit picks out your messages and the agent’s prose replies. Those few lines carry your intent, the progress, and where the agent stopped. Tool traffic stays out, and the source session stays untouched.

Illustration from a demo Pi session.
  1. You: GET /users?page=2 returns the page 1 users. Keep the public API unchanged.
  2. Agent: npm test reproduces the bug: page 2 starts at user 1 instead of 11.
  3. Agent: The cache key is only method:path, so both pages use GET:/users.
  4. Agent, stopped: Fixed in src/cache.js. Keys now include sorted query parameters.
  5. You: Good. Check whether anything else builds cache keys the same way.
  6. Agent, stopped: Checked: src/cache.js is the only cache-key builder. Left for review.

Chapter I

Catch up

A few lines carry
the whole thread.

Your messages

What you asked for, and how you steered the work.

The agent’s prose

What the agent said it would do, turn by turn.

Where it stopped

The agent’s last word before it waited for you. A stop is not proof that the work is right.

Chapters II–IV

What the rare bits are for

Three ways
back into the work.

II

Remind the agent

Recall

Hand the rare bits back to the agent before its next turn. Rarebit writes them to private local files and sends one request that points the agent to them.5

/rarebit recall <request>
III

Catch up yourself

Summary

Ask your model for a short Summary of the rare bits, then read it in Pi with Recap. Summary is optional and needs a configured model.4

/rarebit summarize
IV

Start fresh

Fork

Start a new session from the newest rare bits that fit a size budget, with the tool calls left behind. It does not promise complete context transfer.6

/rarebit fork

Install

One line,
then restart Pi.

pi install npm:@hypercarrier/rarebit@0.2.0

Rarebit is public alpha software for Node 22+ and Pi 0.83+. After a restart, ask Pi to recall what matters: /rarebit recall What should guide the next turn?

Recall sends your model provider what the agent reads. Read the privacy guidance.

For scripts: print the rare bits as JSON
npx --package @hypercarrier/rarebit@0.2.0 rarebit extract --session <path-or-session-id> --json

Session files live under ~/.pi/agent/sessions/. A Session ID also works.

Notes

  1. Selection is deterministic and keeps source-entry lineage. src/rarebit-core.mjs:selectRarebits
  2. The native Pi session JSONL remains the evidence authority. README.md#privacy-and-local-data
  3. Tool inputs, tool results, and hidden reasoning stay out of the rare bits. src/rarebit-core.mjs:rarebitMetadata
  4. Summary and Title are optional model-derived projections. README.md#configure-optional-derivations
  5. Recall writes private local files and sends Pi one request that points the agent to them. README.md#2-recall-for-the-agent
  6. Fork seeds a new session from a bounded newest suffix of selected prose. README.md#3-fork-as-a-distilled-native-fork

Keep the rare bits.
Choose what comes next.

Read the source