Repository navigation
Conversation
Agentflare-Branch: task/271-review-sweep-dispatch-a-rebase-job-when Agentflare-Item: 271
|
Warning Review limit reachedNext included review available in 34 minutes. View limit detailsLimit details: You’ve used the included review currently available. Your 62 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Essentials Run ID: 📒 Files selected for processing (4)
Comment |
|
Closing in favor of a competing implementation for the same underlying problem (agentflare item #576, same PrCiStatus::Conflicting detection). #576's dispatch reuses the existing self_repair_or_gate machinery via a RepairTrigger enum instead of duplicating cap/claim/cooldown/routing logic in a separate rebase_or_gate function — less duplication for the same behavior. Sorry for the wasted verification pass here; this is the same class of coordination gap as agentflare item #595 (two dispatches converging on the same scope with nothing catching it) — caught this time before either landed. |
|
Superseded by #774, which already merged the same PrCiStatus::Conflicting detection + dispatch via the cleaner RepairTrigger/self_repair_or_gate approach (agentflare item #576). This PR's own author flagged the duplication in a comment above; closing to avoid two implementations of the same scope landing separately. |
Status: task already complete, verified only.
The prior checkpoint commit (
6ebb030 wip(sdd-loop): task 0 checkpoint) already contains the full implementation:PrCiStatus::Conflicting { number }variant added insrc/worktree/mod.rs, detected before checks are fetched in bothpr_ci_status_impl(REST) andpr_ci_status_from_batch(GraphQL batch) — mirroringBehind's early-check pattern.run_review_sweepdispatches via a newrebase_or_gateinsrc/supervisor.rs(lines 1469–1620), mirroringself_repair_or_gatearm-for-arm: same cap (SELF_REPAIR_CAP), same claim-liveness/cross-machine-arbitration (claim_self_repair), same cooldown/host-gate checks, its ownREBASE_CONFLICT_MARKERcomment prefix andagentflare:conflictPR label, with aNEEDS_HUMANgate fallback once the cap is hit.ReviewSweepResult.rebase_dispatchedcounter added and wired intohandle_pr_status'sConflictingarm.Verification run (all foreground, no backgrounding):
cargo build --bin agentflare— clean.cargo test --bin agentflare worktree::— 48 passed, including the newpr_ci_status_reports_conflicting_before_ever_fetching_check_runsandpr_ci_status_from_batch_reports_conflicting_before_checks.cargo test --bin agentflare supervisor::— 80 passed, includingrebase_or_gate_dispatches_a_job_and_posts_a_marker_commentandrebase_or_gate_gates_instead_of_dispatching_once_the_cap_is_reached.cargo fmt --check— clean.cargo clippy --locked --workspace --all-targets --all-features -- -D warnings -A unsafe_code -A clippy::pedantic(the exact CI invocation) — clean.No concerns — nothing to commit, working tree is already clean at HEAD with this task's changes checked in.
Opened by
claude-codeon flared:51bb8de6c33b for item #271 via agentflare.