pi-mono/apps/p2/plugins
David Brailovsky e885255061 feat(p2): /tree, branches of the main conversation as Durable forks
Each branch is a top-level conversation forked from another at an entry;
the session-scoped p2.main document lists them and names the current one.
Earlier branches are read-only. The main agent's per-agent state
(subagents, artifacts, voice and chat mode, pending move) stays on
conversation 1 for every branch.

- tree plugin: SessionTree (tree, navigate, select); the worker reports
  main and branches to the catalog (Sessions v4, catalog schema 4)
- TUI: /tree and double Escape (pi's default "tree"), a tree selector
  adapted from coding-agent
- web: Edit on user messages, Branch from here on answers, branch rows
  under the session in the sidebar
- main-agent checks use the branch list instead of conversation 1
- search indexes each branch's own entries

Design: apps/p2/docs/tree.md
2026-11-04 13:40:36 +01:00
..
agent feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
artifacts feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
chat feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
chat-mode feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
codemode feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
coding-tools feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
conversations feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
dev-tools feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
devices feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
drafts feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
envs feat(p2): MCP servers on the host, on environments and from projects 2026-11-03 16:48:38 +01:00
file-index feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
files feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
history feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
locations feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
login feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
logs feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
mcp feat(p2): expose MCP tools to code mode only, as pi does 2026-11-03 18:29:00 +01:00
models feat(p2): MCP servers on the host, on environments and from projects 2026-11-03 16:48:38 +01:00
ports feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
powershell feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
prompt feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
proxy-marker feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
radius feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
search feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
send-file feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
sessions feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
sharing feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
status feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
subagents feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
terminals feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
tree feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
voice feat(p2): /tree, branches of the main conversation as Durable forks 2026-11-04 13:40:36 +01:00
web-shell feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00
workspace feat: add apps/p2 (imported from pi-private at 7dadff697) 2026-11-03 13:39:06 +00:00