△ srcprismStart the 7-day trial →Start trial
srcprism / for your coding agentsfor your coding agentssrcprism / for your coding agents

Keep building. See the whole story.

Everything your coding agent did, on your machine: keep it going, read it, replay it, pick it back up.Everything your coding agent did, on your machine. Keep it going, read it, replay it.

works with
Claude CodeCodexCopilot CLICursorGrok BuildOpenCodeFactory DroidPiAntigravity
01optimized contextlossless compaction, shared memory — any earlier turn comes back exactly
02forktry another direction from any ask, in a new pane — with any agent
03pruneremove any ask from any point — its turns go, its edits are reversed, everything else remains
04storylineread the session back ask by ask, each chapter headed by what you typed
01 / the session

It starts with an ask.

srcprism files every edit under the ask that caused it. Any change traced back to its origin.srcprism files every edit under the ask that caused it.srcprism files every edit under the ask that caused it.

02 / the work

See every edit.

336 asks later, one session is a city. Every building is an edit.336 asks later, one session is a city. Every building is an edit.336 asks later, one session is a city. Every building is an edit.

03 / the working context

A session gets heavy.

The longer a session runs, the more of its context is old turns — until the agent compacts them into a summary you didn't write.More and more of its context is old turns — until the agent compacts them into a summary you didn't write.Old turns pile up — then get compacted into a summary you didn't write.

04 / lossless compaction

Same session. Lighter.

srcprism compacts the session early, in place, and keeps the whole record. Every turn is archived byte-exact, a few lines of live state carry the thread, and any earlier turn comes back exactly.The session compacts early and keeps the whole record. Any earlier turn comes back exactly.Compacted early, in place. The whole record stays.

tokens not sent · est. vs default
275.4M
22 of 22 sessions that compacted · 30 sep – 2 oct
≈ 3.25B a month at this pace · projected from 2.5 days
default compaction: a summary you didn't write · srcprism: the same session, the record kept
up to −71% · biggest session 169.5M → 78.4M · −53%3,753 calls · 111 compactions · all 22 sessions: −46% · short ones about evenmedian compaction 118k → 52k · after one: 0 edits undone · 0 corrections repeated · an error again after 53 of 473
one compaction · 1 oct118,269 → 51,812 tokens · 4.4 sthe record archived · any earlier turn comes back exactly

real · every early compaction on one developer's machine

05 / fork

Fork a session.

A copy opens in a new pane beside you, and this session keeps running. It carries the whole story so far, or leaves out the asks you name, and it can open in another agent.A copy opens beside you and this session keeps running. Leave asks out of it, or open it in another agent.A copy, with or without the asks you name. This session keeps running.

command
$ srcprism fork
forked into a new pane beside you
this session keeps running here; the twin lands ready to type
--from 19fork after ask 19
--without 3,5leave those asks out of the copy
--to grok-buildopen the copy in Grok Build
nothing changes here: this session and its files stay as they are.
06 / prune

Remove one ask from the middle.

At 19:17, you asked for a change. By 19:40, you didn't need it.At 19:17 you asked for a change. By 19:40 you didn't need it. It's still in the agent's context: you pay for it on every turn, and the agent can still act on it. Ask the agent to delete it, and both asks stay there. Rewind, and the 3 asks after it go too. Remove takes just that ask out.At 19:17 you asked for a change. By 19:40 you didn't need it. It's still in the agent's context: you pay for it on every turn, and the agent can still act on it. Ask the agent to delete it, and both asks stay there. Rewind, and the 3 asks after it go too. Remove takes just that ask out.

You no longer need the change.It's still in the agent's context.Read every turn. More tokens.The agent can still act on it.

Ask the agent to delete it.

Its edits are reversed.Both asks stay in the agent's context.

Rewind to 19:17.

The change goes.So do the 3 asks after it — and their work.

Its turns removed. Its edits reversed.Everything after stays.

command
$ srcprism prune 687a32fe:10
✓ removed · ask 10 · 3 files · 6 turns
to put it back: srcprism prune 687a32fe:10 --undo
a note stands where the ask was, so the agent knows.
06 / prune · in the Prism UI

See what goes before it goes.

The same remove, in the Prism UI. Select an ask and the list shows what goes with it: its turns, and each file it undoes. Undo it from the same list.Select an ask. See its turns and files before they go.

tern · session 687a32fe at 19:40 · the Prism's prune view, strings verbatim

07 / storyline · live

Follow the story as it unfolds.

Each live session is a row. Every step its agent takes goes up on that row, under the ask it's working on.Each session is a row. Every step goes up under your ask.Each session is a row. Every step goes up under your ask.

07 / storyline · replay

Then watch it again.

The line becomes a playhead. Run any stretch back: what you asked, each file as it rose, what the agent said.Run any stretch back: your asks, the files, the answers.Run any stretch back: your asks, the files, the answers.

07 / storyline · threads07 / storyline · threads

Every session has threads.

The record splits the session by what each stretch was for: two threads here, each with its share of the turns, one still in flux.Split by what each stretch was for, each with its share.

07 / storyline · acts07 / storyline · tern

Read it in acts.

Start at the end: what the session made, in how many acts — each named by the record.Start at the end: what it made, in how many acts.

08 / chapters08 / chapters · tern

Your asks are the chapters.

Every chapter is headed by what you actually asked, and read back in a line.Headed by what you asked, read back in a line.

tern · act 2 of 3 · the prism's own chapter labels, asks verbatim

09 / turns09 / turns · tern

Down to the turn.

Every step, byte-exact. Set a restore point before any turn, or fork from there.Every step, byte-exact. Restore or fork from any turn.

tern · every step of session d1d37073 · height: recorded bytes

10 / bookmark10 / bookmark · tern

Keep the part that mattered.

Heart a chapter, or type 'bookmark this': your ask and the answer, saved.Heart a chapter: your ask and the answer, saved.

tern · a real bookmark on session d1d37073 · ♥ search box, turns 180–197

11 / recall + sha-256

Bring it back. Check every byte.

Recall brings back the exact turn — not a summary, not a search result. Your browser hashes it and checks it against the record. One byte off, and it fails.Recall brings back the exact turn. Your browser hashes it against the record: one byte off, and it fails.The exact turn, not a summary. Your browser checks the hash.

bookmark · srcprism recall 4ce1495b --raw
“♥ search box session d1d37073-6f22-4429-981a-ac03c441272c · 2026-09-19T19:47:46.997Z ❯ search box above the list. filters title+body, plain includes, no fuzzy Search.tsx filters the list on the client; the list receives the query. ”
manifest · from the record
4ce1495b196a26d098b9325fbaa97e0f1da6693e4b503c3a7b439bce25fafe71
sha-256 · computed in this browser
································································
hashing…
one byte changed on purpose: “no fuzzy” → “do fuzzy”
“♥ search box session d1d37073-6f22-4429-981a-ac03c441272c · 2026-09-19T19:47:46.997Z ❯ search box above the list. filters title+body, plain includes, do fuzzy Search.tsx filters the list on the client; the list receives the query. ”
································································
hashing…
A match proves these are the bytes that were saved — not that what they say is right.

tern · tower: the bookmarked ask's edits · ground: real session

12 / the pull request

Your PR, and the story behind it.

The story lives in your repo. Whoever can read the repo can read it. No one else.

12 / restore · to grok

Switch agents. Keep the session.

Take the whole session to Grok Build — the transcript itself, not a handoff note. restore --to grok-build and it picks up where you were.restore --to grok-build: the whole session, not a handoff note.

real run · this session happened in claude · demos: cross-vendor

13 / patterns in the record13 / patterns

See where work circles.

doom loop detection as a tornado over the files it kept rewriting.The files it kept rewriting, as a tornado.

loop shape from tern · socket.ts undone and redone · 39 turns

14 / team · coming soon

One team. Shared memory.

Share the sessions you choose, from any agent. They're encrypted before they leave your machine and go through your own git remote — only your teammates' machines can open them. Not GitHub, not us.Share the sessions you choose, encrypted on your machine and sent by your own git remote. Not GitHub, not us.

when the person isn't there, the shared session is
01

the author's awayPushes failing, Sam away two weeks

→ Ask the agent that wrote it.

02

they leftPriya left in March

→ The reasoning stayed.

03

already solvedYou're starting the socket broadcast

→ Your team already solved it.

04

stays with the repoClaude Code deletes after 30 days

→ Shared sessions stay.

schematic · the globe is invented; segments light as sessions are shared

15 / team view · coming soon

See where your team's work overlaps.See where the work overlaps.

Your session and Sam's both touched merge.ts. Box where they meet and ask what happened: the answer comes from both sessions, each line cited to the turn that said it.Your session and Sam's both touched merge.ts. Box where they meet and ask: each line of the answer cites its turn.Box where you and Sam touched merge.ts: each line of the answer cites its turn.

schematic · the Prism's own renderer · one real session (tern), read as two invented teammates

16 / the author's away · coming soon16 / away · coming soon

Ask the agent that wrote it.

schematic · tern read as three teammates · sam's words are tern's ask 48, verbatim

17 / they left · coming soon

They left. The reasoning stayed.

schematic · priya's plate is tern's asks 1–12 · her words are tern's ask 4, verbatim

18 / already solved · coming soon18 / solved · coming soon

Your team already solved it.

schematic · the loop is tern's own: socket.ts, asks 44–48, T.368–406 · recall --team is built; asking a teammate's session and the team view are coming soon

19 / stays with the repo · coming soon19 / it stays · coming soon

Shared sessions stay.

schematic · Claude Code keeps local transcripts 30 days by default

20 / your next session

This is what you keep.

Seven days of everything, free. No card.Seven days free. No card.

after the trial
individual
$30/month · or $300 a year/mo · or $300/yr

The Prism, repack, fork, explain, lean restores, continuing in Codex and five more agents, and sharing a session on a PR.

team · coming soon
$49/seat/month

Everything in Individual, shared with your team, encrypted, kept as long as your repo. Ask the agent that wrote any line, recall across the team, pick up a teammate's session. Three readers free per seat.

Reading is always free: anything shared with you, and everything you've recorded — srcprism keeps recording after the trial.

$ srcprism restore src-5f9fcde7ae
  ↺ restored src-5f9fcde7ae → same agent, full context 884ffce7
  198 transcript events kept · 0 bookkeeping records dropped · token counters cleared · new session id
  original bytes: srcprism recall 775c1b5cf574654f --raw
  ✦ restored faithfully: 198 turns · 179k tok
claude --resume 884ffce7-f29a-4e79-81ba-4b44d0d51c23
Start the 7-day trial