Functorize worktree access#290
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (9)
📝 WalkthroughWalkthroughThis PR refactors the runner to eliminate direct ChangesWorktree Abstraction and Module-Based Dependency Injection
Estimated code review effort🎯 4 (Complex) | ⏱️ ~65 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Review SummaryThis is an
No correctness bugs, no security issues, no violation of the busy/complete invariant, and no effectful dependencies leaked into
Variant: convergence-v2 Candidates: 3 | Posted: 3 | Suppressed: 0 3 comments posted · Model: |
…tures Remove `process_mgr` and `repo_root` from `run`, `run_long_lived`, and the internal `run_with_backend` helper — these were already ignored after the worktree functor injection landed. Update the two call sites in `runner_fiber` and drop the now-unused `process_mgr` binding there. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Review SummaryThis delta introduces the
Variant: convergence-v2 Candidates: 0 | Posted: 0 | Suppressed: 0 0 comments posted · Model: |
Summary
Tests
Need help on this PR? Tag
@codesmithwith what you need.Summary by cubic
Functorized all worktree operations behind a
Worktree.Sinterface and wired a single client through the app, droppingprocess_mgr/repo_rootplumbing across session APIs. This simplifies session flow and makes repo-scoped git actions easier to test and mock.Refactors
Worktree.Sand moved worktree operations behind it (create/remove, list/find, hooks, fetch, status).Worktree_setup,Startup_reconciler, andSession_driveroverWorktree.S.process_mgr/repo_rootfromSession_driver.Make(run,run_long_lived) and updatedrunner_fibercall sites.bin/main.mlto construct and pass one worktree client; removed ad-hoc threading ofprocess_mgrandrepo_root.Migration
Worktree.Simplementation and pass it toWorktree_setup.Make,Startup_reconciler.Make, andSession_driver.Make.Session_driver.run/run_long_livedto removeprocess_mgr/repo_root.Startup_reconciler.Make(...).recover_worktrees; the top-levelrecover_worktreeswas removed.Written for commit ca18634. Summary will update on new commits. Review in cubic
Summary by CodeRabbit