fix: add open-PR de-dup check at orchestrator planner dispatch#52
fix: add open-PR de-dup check at orchestrator planner dispatch#52samtuckerdavis merged 3 commits intomainfrom
Conversation
[worktree:scai-dedup] Seven tests encode the behavioural contract: dedup rule present in all 10 target files, gh pr list command present, halt instruction present, reroute option present, orchestrator-mode.md Process Enforcement section has the open-PR rule, unicode integrity clean, no speciesist language. All tests fail before implementation — correct TDD start state.
…strator dispatch Before beginning any work on a GitHub issue, agents must now run: gh pr list --state open --search "#<N> in:body,title" If an open PR is returned, agents must not open a new PR and must reroute to plan-reviewer with the existing PR as input instead. This prevents the duplicate PR pairs observed in the 2026-04-26 complexity-cut review. Applied consistently across all 10 instruction surfaces: - claude-code, kilo-code, github-copilot SKILL.md git-workflow files - augment-code, cline, cursor, windsurf, roo-code git-workflow rule files - agents-md/AGENTS.md GitHub Workflow section - kilo-code orchestrator-mode.md Process Enforcement section Tests: 42 passed, 1 skipped (semgrep NAV check skipped — config absent).
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (11)
✨ Finishing Touches🧪 Generate unit tests (beta)
Review rate limit: 0/5 reviews remaining, refill in 10 minutes and 40 seconds. Comment |
The test file comment used a prohibited speciesist idiom as an example. Replaced with a neutral description to pass the no-animal-violence check.
AdversarialVerdict: pass Security audit summary (10 steps)
Bug-hunter fleet
Strongest findingLow severity: No Critical or High findings. Verdict: pass. |
Summary
gh pr list --state open --search "#<N> in:body,title"and halt or reroute if an open PR is foundCloses
#47
Plan link
#47 (comment)
Test Plan
test_dedup_rule_present— dedup block present in all 10 files (10 parametrised cases)test_dedup_rule_contains_gh_pr_list_command— executable command present in all 10 filestest_dedup_rule_contains_halt_instruction— "Do not open a new PR" directive in all 10 filestest_dedup_rule_contains_reroute_option— "plan-reviewer" reroute path in all 10 filestest_orchestrator_mode_contains_open_pr_check— open-PR rule in orchestrator-mode.md Process Enforcement sectiontest_unicode_integrity_all_changed_files— no hidden Unicode characters in any changed filetest_no_speciesist_language_introduced— skipped (semgrep not installed in CI; rule is enforced separately by the NAV GitHub Action)Result: 42 passed, 1 skipped
desloppify Score
All changes are additive text insertions in markdown instruction files. desloppify score unchanged (no code modified).
Adversarial considerations
gh pr listcommand is additive read-only. No write operations, no new dependencies, no new data flows.git revert.