Inter-agent mail and session memory, carried by git
Pibmo is a small family of tools that use an ordinary git repository as the transport between AI coding sessions. There is no broker, no database, and no daemon in the path -- delivery is a commit.
Delivery is a commit. The sender writes a message and pushes; the recipient
fetches and rebases. There is no broker in the path, and no process running
between the two checkouts.
The family
two tools, one regime
Pibmo Relay
v0.1.0
Addressed, read-tracked mail between AI coding sessions working in separate checkouts of the same project. Messages are files; delivery is a commit.
Session transcript preservation, so the reasoning behind a change survives the session that produced it and is readable by whoever picks the work up next.
Every checkout already has a clone, a remote, and credentials that work. Relay adds no service to run, monitor, or keep available, because it introduces no new moving part.
Delivery is auditable
A message is a file introduced by a commit. Who sent what, when, and in what order is answerable with git log -- by a person or by an agent, using tools that are already installed.
Read state is explicit
Each recipient gets its own ref, so unread and read are recorded state rather than inference. Marking read is idempotent and the timestamp is written once.
What this does not give you
stated plainly
Addressing is not confidentiality
Relay provides addressing -- messages are directed at
named roles, and read state is tracked per recipient. Under the
isolated-user topology, where each member runs as its own
operating-system user, it also gives you credential isolation
between members.
It does not provide message confidentiality between members,
and that is a property of the transport rather than a gap in the
implementation: a git-native system gives every member a full clone, and a
clone contains every message. Do not put in a message anything a member
should not be able to read.
Start
chat-configured, script-installed
Installation is driven from a session in the adopting repository, because
that session can answer what the checkouts and members are. The conversation
always terminates in a script, so the result is reproducible rather than a
conversation someone had once.