Fix worktree removal timing out on large install trees#3902
Fix worktree removal timing out on large install trees#3902jakeleventhal wants to merge 5 commits into
Effect Service Conventions: No issues found
All clear
Details
Note
Your check run agent prompt is: .macroscope/check-run-agents/effect-service-conventions.md
More information about how Check Run Agents work can be found in our Help Center.
🔍 Agent activity — reasoning, no tool calls
💭 I'm examining the diff to understand how the Effect service conventions are being applied to the GitVcsDriverCore files, looking at the imports and changes across both the test and implementation files. I need to fix the URL parameter that got corrupted. I'm running into a parsing issue, so let me try a simpler approach with a single call. I'm noticing the parameter formatting is getting mangled with embedded newlines in the URL. Let me restructure this more cleanly to avoid those parsing issues. Now I'm checking the removeWorktree implementation and the GitCommandError definition. I'm checking the GitCommandError definition to verify that the
detailfield follows the error conventions—specifically that it's not just copying the cause message. Since it's a static string here and the cause is preserved, this aligns with the existing patterns. GitCommandError is using a static detail string with an optional cause, which aligns with the existing error conventions. The gitCommandContext helper already provides the operation, command, and working directory information needed, so the changes here are primarily behavioral rather than structural. The retry logic with thewhilepredicate checkingcause.reason._tagis a valid structural check on PlatformError and doesn't violate any conventions. The namespace imports throughout are consistent with Effect patterns, and the error handling approach with static details and causes is clean. The test file imports look proper as well. The imports follow proper namespace conventions and the test correctly accesses the GitVcsDriver module's exported functions and layer. The implementation adheres to Effect service patterns, using namespace subpath imports and the existing GitCommandError for error handling while preserving both static details and the underlying cause. The test uses a legitimate seam withEffect.provideServiceto inject a flaky FileSystem implementation. Everything checks out cleanly, so I'll set the response to success with "All clear" as the summary in the JSON output.
Agent Credits: 35 credits