Several sessions, one repository
session-bus carries the messages, board holds the cards, and team is how a
lead moves one between sessions. This page is the round they make together — who
holds what, in what order, and what none of the three promises. Each surface’s own
page has its commands in full.
The three surfaces
| Surface | What it is for |
|---|---|
session-bus |
discovery, mail, and path claims between sessions on one machine |
board |
the work: one card per feature, and two signatures before it ships |
team |
the lead’s round over the cards — assign, offer, reclaim, claim, ask |
Nothing in the three starts a process. A message lands in an inbox, so a session
that is not running stays not running — and one listening with wake is woken for
it, a handoff and an ask included.
A round, in order
- Join.
/boardjoins the session that leads as the board’s lead; any other session joins on its first claim or withsession join./team join <label>is the one door that renames a session. - Put the work on the board.
board addlands a card inbacklog, where nobody holds it. - Take one card.
board claim 4moves it toplanfor this session, or the lead hands it over withteam assign 4 to billing-core. - Design, then sign. The owner records the plan and its contract, and the
lead signs with
/board approve 4; a card reachesexecuteonly on that signature. - Claim the files before editing.
session claim paths ["docs/"]is all-or-nothing: if one path conflicts, nothing is claimed, and a peer sees what is held rather than discovering it in a merge. - Work, and read the mail.
session inboxat coordination points — a handoff, a question, an event from a peer. - Close it. The lead’s
/board review 4is the second signature; the card then moves todone.
Who holds what, and for how long
| Thing | Held by | Ends when |
|---|---|---|
| a card | one session, by its id | released, reclaimed, or closed |
| the two signatures | the lead, never a session holding the card | written on the card |
| a path claim | one session | released, or that session ends |
| a label | one session | its heartbeat stops and ten minutes pass |
| an inbox message | one recipient | read, or after 24 hours |
What none of them promise
- No authentication. The bus is files under
~/.pi/agent/session-bus/<repo-key>/, on this machine, under your OS user: any process with your file access can read and write it. - No lock. Ownership is a session id, so two sessions can still open one file; a path claim is what makes the collision visible before the edit.
- One machine, one user. A peer on another host is not on the bus, and membership does not survive a resume or a restart — unread mail and the label do.
- No forced takeover. Reclaiming a card takes it back to
backlog; nobody takes a path claim from a session that is still running.
Turning it on, and off
/board joins the leading session, and session status reads the bus without
joining it. To stop coordinating, toggle session-bus in /bytefly: the team goes,
and the cards stay workable without it. What that costs, and what the other
extensions cost while they run, is A minimal install.
Learn more
- Work a board — one card through both signs.
board— lanes, the per-lane limits, and the store.team— the round, and who answers a label.session-bus— labels, mail, claims, and TTLs.- Security — the trust boundary the bus sits behind.