sessions
Agent sessions: one conversation between a person and a coding agent
(Claude Code, Codex, Pi, OpenCode V2), recorded by pando sync on the
person's machine after secrets are removed there, and stored as sent, in
pieces in R2. Every member reads them as they are recorded; nothing on
them is written by a model. The server parses on read with
letta-ai/trajectory 0.4.3, plus a pass of its own for the model of each
answer.
Appending. A piece is whole lines, at most 8,000,000 bytes, sent
with where it starts (at) and where the next starts (next) in the
sender's own cursor: a byte offset in the agent's file, or the last row
read for OpenCode. It is taken only when at is the session's end; any
other start is 409 not_at_end with end, which the sender resumes
from. A deleted session answers 410 session_deleted: send nothing more.
- The repositories and projects you do not record, on every machine you sign in on
- Replace that list (at most 200)
- This machine (the calling credential) says whether it records sessions and which stores it reads
- Each of your machines, as it last reported its recording (Settings)
- Sessions by last activity, newest first (deleted ones are not listed)
- A branch's sessions, numbered 1, 2, 3 by their earliest commit there, and each commit's session numbers
- One session, or the stub a deleted one leaves (who deleted it, when)
- Delete at once and for good (its person or an owner); its pieces leave R2 now
- Append whole lines at the session's end (the first piece makes it)
- A page of the conversation, parsed on read, about 2 MB of lines at a time
- Remove prompt n's turn (its person or an owner); a mark keeps its number, who and when
- Read every stored piece again and rebuild the session's numbers (how a parser fix reaches stored sessions)