Repository navigation
✨ New features
- Nested side agents: side agents can now start their own agents, up to depth 2. A nested agent branches off its parent's branch and merges back into it. Its notifications go only to its parent, and the parent's worktree slot stays pinned while it runs.
/agent-resume: reopens a side-agent session that was closed with/quit, together with its branch.- Uses pi's own session-picker widget, with fast session discovery. Each row shows the agent id and a note saying who owns the branch.
- Prefers the session's original directory. If the session has to move, it adds a notice about the directory change.
- Won't reattach branches that active agents own, and restores the session's model.
- Status line as a quick-travel map: nested agents show a
parent:entry, then their children, then their siblings, with the groups separated by|. Every entry is colored by status, so from any window you can see which agent needs you next. - Custom tool rendering:
agent-start,agent-check,agent-wait-anyandagent-sendnow show their own compact views in the transcript. contrib/tmux-switch: an optional tmux popup that lists windows grouped by project, with side-agent worktrees folded into their repo. Each pi window is colored by state: working, done (not yet looked at) or idle. It's quick to jump between windows by keyboard and there's a live preview. Seecontrib/tmux-switch/README.md.
🐛 Fixes
- Concurrency and locking
- Concurrent agent starts now take worktree slots one at a time, so two agents can't grab the same slot.
- The registry lock is now created atomically with
link(2). Only the token holder can release it, stale locks are broken without races, and a live holder is never evicted.
- Worktree reuse: unmerged branches now survive when a slot is recycled.
- Lifecycle notices: notices are merged into one and delivered when the session is idle. They're capped in size, and pending notices are sent on shutdown.
- tmux input
- Launch wrapper: writes its exit marker more reliably (from an EXIT trap), and transition notices now have timestamps.
- Slug generation: works with reasoning models and spends as little on thinking as possible.
🧪 Tests and docs
- Fixed the integration test harness for pi 0.85.
- Added table-driven status-line tests.
- Added license and package links.
Full changelog: v1.1.3...v1.2.0