Add opt-in patch start mode#265
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughThe PR introduces configurable patch scheduling modes ( ChangesPatch start mode scheduling feature
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes 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 docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
No issues found across 5 files
You’re at about 90% of the monthly review limit. You may want to disable incremental reviews to conserve quota. Reviews will continue until that limit is exceeded. If you need help avoiding interruptions, please contact contact@cubic.dev.
Review SummaryThe PR cleanly adds a persisted
0 comments posted · Model: |
Review SummaryThe PR correctly implements
2 comments posted · Model: |
Review SummaryRe-examining
2 comments posted · Model: |
Review SummaryThe implementation is correct and complete. Key observations:
No new must-fix or should-fix issues found in this diff.
0 comments posted · Model: |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@bin/main.ml`:
- Around line 3859-3894: The code currently recomputes repo_root, GitHub
credentials and main_branch and immediately calls Project_store.save_config even
when stored_opt exists, which can overwrite previously valid stored settings;
update the logic in the block that handles stored_opt (around
repo_root_for_fresh, load_existing_config, stored_opt, merge_cli_stored,
resolve_backend_model, resolve_github_credentials, resolve_branch) to either (a)
preserve stored repo_root/github_token/github_owner/github_repo/main_branch when
stored_opt is Some (mirroring the Some proj, None branch) by merging CLI values
with stored.Project_store fields before calling Project_store.save_config, or
(b) defer calling Project_store.save_config until after start_mode_result and
the full resolved config have been validated; ensure Project_store.save_config
is invoked only with the final validated values (use
Patch_controller.start_mode_of_string/ start_mode_to_string and the merged
backend/model from resolve_backend_model).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 0ac914d5-b5ae-4bf9-b7c6-7432dc8e2f2b
📒 Files selected for processing (9)
bin/main.mllib/patch_controller.mllib/patch_controller.mlilib/project_store.mllib/project_store.mlilib_core/patch_controller_core.mllib_core/patch_controller_core.mlitest/dunetest/test_patch_controller_properties.ml
Review SummaryThe implementation is well-structured overall. The pure/effectful split is correct ( One finding: the
1 comment posted · Model: |
Review SummaryThis incremental diff correctly addresses the two outstanding Turn 2 findings: One new finding: the
1 comment posted · Model: |
Review SummaryThe incremental diff is clean. The outstanding prior comments (stored-config overwrite in the --gameplan branch, property test structure, and docstring accuracy) are already posted on the PR as live comments and are not re-raised here. No new bugs, correctness issues, or quality concerns are introduced by this increment.
0 comments posted · Model: |
Adds a persisted --start-mode flag with greedy as the default and naive as dependency-gated scheduling. Threads the selected mode through the runner and patch controller while rejecting --start-mode in true ad-hoc mode. Covers naive and greedy scheduler behavior with focused controller tests.
Need help on this PR? Tag
@codesmithwith what you need.Summary by cubic
Adds an opt-in patch start scheduling mode with a persisted
--start-modeflag. Defaults togreedy, preserves stored config on--gameplanupdates, and rejects use in true ad‑hoc runs.New Features
--start-mode [greedy|naive]persisted per project; defaultgreedy.--gameplanloads keep stored config and only apply CLI overrides; help clarifiesgreedy.greedycan start downstream patches when deps have PRs;naivewaits for dependency merges.Migration
start_mode: "greedy". No action needed; override via CLI or edit the stored config.Written for commit 7cb1713. Summary will update on new commits. Review in cubic
Summary by CodeRabbit
--start-modeconfiguration option for patch scheduling with two strategies:naive(stricter dependency checking) andgreedy(more relaxed), defaulting togreedy