AR-274 route factory implementers by repo label#363
Conversation
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
Warning Review limit reached
More reviews will be available in 13 minutes and 8 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, 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 include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthrough
ChangesLabel-derived agent identity routing
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ec624603f8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| }) | ||
| if (!dryRun) { | ||
| try { | ||
| await this.#linear.postComment(liveIssue, comment) |
There was a problem hiding this comment.
Deduplicate invalid-label comments before posting
When a Ready-for-Agent issue hits this invalid label route, the factory posts the failure comment and returns without recording a dispatch attempt, marking the issue terminal, queuing it, or moving it out of Ready. In runOnce/live replay the same issue will satisfy the same checks again, and the Linear comment writeback itself can produce another change event, so a bad label/no-default or too-many-routes issue can get the same comment posted repeatedly instead of one actionable failure notice.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Addressed in b8e8d3c: the invalid-label failure comment is now deduped by a reason + offending-labels signature — recorded only after a successful post and cleared once the issue dispatches successfully — so a stuck Ready issue (or the comment writeback's own change event) no longer re-posts the same notice each cycle. Added a regression test asserting repeated dispatch posts the comment once.
Findings
Fixed
Addressed comments
Verification
|
|
ℹ️ pr-reviewer: review only — no file changes were applied to the PR (nothing to commit after review). The notes below are advisory and were not pushed. Findings
Addressed Comments
Validation
Not printing READY because there is a validated behavioral finding and full CI-equivalent validation could not complete here. |
|
Blocked files: Findings
FixedUpdated stale downstream CLI dry-run expectation for label-derived implementer naming: Addressed comments
Verification
GitHub still reports the old head |
Findings
Addressed comments
Verification
|
|
ℹ️ pr-reviewer: review only — no file changes were applied to the PR (nothing to commit after review). The notes below are advisory and were not pushed. Findings
Addressed comments
Verification
|
Findings
Addressed Comments
Changes Made
Local Validation
I did not verify GitHub mergeability or remote check status from GitHub, so I’m not marking this READY. |
|
Findings
Fixed
Addressed comments
Verification
Not printing READY because validated semantic findings and the unresolved invalid-label thread still need human-authored changes. |
|
Findings
Fixed
Addressed comments
Verification
Remote PR metadata reports mergeable, but the current remote CI run is still failed until this local mechanical fix is picked up. I’m not printing |
|
Findings
Fixed
Addressed comments
Verification Passed locally:
I did not print |
|
No PR-code findings after tracing the label-derived factory dispatch changes. I made one downstream test-expectation fix: packages/factory-sdk/src/cli/fleet.test.ts now expects Addressed comments
ValidationPassed:
Failed, apparently unrelated to this factory SDK PR:
I did not modify renderer or terminal code because those failures are outside this PR’s scope and not mechanical fixes. |
Remove defaultRouteAssignment/repoSlug so an unlabeled or unmapped issue fails dispatch loudly instead of silently routing to repos.default. Cap label implementers at MAX_LABEL_IMPLEMENTERS=4 and rebind the reviewer to the first label route via routeReviewerSpec(). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…74-label-dispatch # Conflicts: # packages/factory-sdk/src/orchestrator/factory.ts
- fleet.test.ts: implementer name is now repo-slug suffixed (ar-77-impl-pear) under label routing. - Dedupe the invalid-label dispatch failure comment by reason+offending-labels signature so a stuck Ready issue (or the writeback's own change event) no longer re-posts the same notice every cycle; clear on successful dispatch. Addresses Codex review on PR #363. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Merge origin/main (#360 webhook handler, #362 park completed PRs). The ar-366 re-dispatch and ar-243 PR-state sweep tests came from main with pre-label-routing implementer names; under AR-274 label routing the implementer is repo-slug suffixed (ar-366-impl-pear / ar-243-impl-pear). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Summary
repos.defaultwhen no repo label matchesar-267-impl-cloudandar-267-impl-relayfile<key>-reviewnametriage.maxImplementersDepends-on: AR-273 (sequencing preference from reviewer; no direct code dependency in this PR).
Verification
npx vitest run packages/factory-sdk/src/orchestrator/factory.test.ts packages/factory-sdk/src/config/schema.test.tsnpm run typecheck:nodeNotes
pear factory --mode liveon a scratch Linear issue from this worktree; live Linear verification remains an operator gate before merge.Implementers: ar-720-impl-cloud, ar-720-impl-relayfilein the regression test.repos.defaultroute is configured; otherwise unlabeled/no-match issues dispatch throughrepos.defaultas<key>-impl-<default-repo-slug>.