fix(watchlist): preserve exact branch identity
User description
A registered branch such as hive/Fix could inherit the PR and CI state of hive/fix because watchlist matching ignored branch-name case. Match branches exactly while retaining case-insensitive GitHub owner matching. The public API and JSON schema are unchanged.
Regression evidence: before the fix, both the branch-case rejection and view-level exact-PR-selection tests failed. After the fix, all 36 focused watchlist tests passed.
Final validation on 1dadb797d5506478492e7b681a2127cdce0302a1:
cargo fmt --all -- --check— passed.CC=/usr/bin/gcc CARGO_BUILD_JOBS=4 cargo clippy --locked --offline --workspace --all-targets -- -D warnings— passed.CC=/usr/bin/gcc CARGO_BUILD_JOBS=4 cargo test --locked --offline --workspace— 437 passed, zero failed/ignored.
Validation used pinned Rust 1.97.1 (the workspace MSRV), locked dependencies, and CC=/usr/bin/gcc to avoid a sandbox read-only compiler-cache wrapper. There are no workspace feature flags to vary. Independent review found no actionable issues. Native macOS/Windows and hosted CI are pending at creation. Local commit hooks reported an Aikido network/telemetry error; the native gates below passed and gitleaks reported no leaks.
Related: #1 (bounded Collaboration MVP follow-up, not an epic closure). The active milestone is Linear's writ — Collaboration MVP; the open GitHub milestones are historical and are not assigned. PR #209 overlaps only existing doc comments; #190 is preserved historical watchlist salvage, not this fix.
Linear: RM-1954
Summary by cubic
Fixes watchlist matching so case-only branch differences no longer collide, e.g. hive/Fix no longer inherits PR and CI state from hive/fix. Branch matching is now exact while GitHub owner matching stays case-insensitive. Public API and JSON schema are unchanged.
CodeAnt-AI Description
Preserve exact branch names when matching watchlist pull requests
What Changed
- Watchlist matching now treats branch names with different capitalization as different branches
- GitHub owner matching remains case-insensitive, including fork and owner checks
- Added coverage for rejecting case-only branch differences and selecting the correct pull request when similarly named branches exist
Impact
✅ Prevents cross-matching branches that differ only by capitalization
✅ Selects the correct pull request for a watchlist entry
✅ Preserves valid case-insensitive GitHub owner matches
💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
@codeant-ai ask: Your question here
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
@codeant-ai ask: Can you suggest a safer alternative to storing this secret?
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
@codeant-ai: Your feedback here
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
@codeant-ai: Do not flag unused imports.
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
@codeant-ai: review
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.