v0.2.2
Security hardening and the last of the documented limitations.
- Agent discovery is bounded by the project root (
.gitorpackage.json), so an agent planted in a world-writable ancestor such as/tmpis no longer offered as a project agent. The consent prompt names each agent's actual source and cannot be spoofed by a crafted agent name. - Hook output is decoded on the stream, so a multi-byte character split across a pipe boundary can no longer mangle a deny decision into a non-blocking one. Each stream is capped at 1MB.
- The hook timeout binds the whole process tree: the shell is spawned detached, the timeout kills the process group, and a timed-out
PreToolUsehook fails closed. POSIX only. - A shared output guard caps every tool at pi's documented 50KB / 2000 line budget;
mcppreviously capped bytes only. - Context imports are bounded by a shared 50 file / 256KB budget, with the number skipped stated in the prompt.