avoid emitting partial tool call locations - #90
Conversation
|
Corroborating this from Zed, where the same bug has a second, very visible Zed calls This patch fixes it. Verified on top of simonsmh/pi-acp at 0.0.34 (merges Worth noting for anyone landing here: the partial values are not malformed, just |
|
Corroborating this on Observed impactZed's reliability diagnostics reached:
The Pi and Root cause confirmation
This matches both the logs in this PR and the implementation path in VerificationI replayed commit
The regression test correctly proves that This PR addresses the memory trigger and should prevent the synthetic As optional defense in depth, it may also be worth considering either:
That would prevent completed reads of global documentation/configuration paths from creating additional external Zed worktrees, while this PR remains the essential fix for the whole-disk |
Using
pi-acpI experienced some major issues with Zed getting extremely memory hungry and installing file watchers for pretty much my whole disk. Eventually I tracked the issue down to Zed logs like this:from what I can tell from debugging, this was happening when streaming tool call updates from
pi-acpemitted partial locations before the LLM had finished emitting the tool path. Zed would receive the tool call update and start building worktrees related to the partial path for file analysis.You could argue it's a Zed (or pi) bug, however it seems unhelpful to emit these partial locations so this is the patch I applied in
pi-acpto avoid the bug. Happy to move the discussion elsewhere if you think better.