Repository navigation
Add OmniRoute-backed Factory 16 worker - #1176
Conversation
|
Warning Review limit reached
Next review available in: 59 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
📝 WalkthroughWalkthroughAdds an OmniRoute Factory 16 worker, a scheduled/manual/pull-request workflow, local gateway validation, OpenCode routing, issue processing, heartbeat diagnostics, cleanup, and a pinned OmniRoute smoke-test workflow. ChangesOmniRoute Factory 16
Estimated code review effort: 4 (Complex) | ~45 minutes Mergeability Score: 🟠 High · up to The autonomous Factory 16 workflow can overlap sessions, push work to the wrong branch, operate without heartbeat coverage, and rely on unverified external artifacts with sensitive credentials exposed during setup. These risks can cause conflicting or misplaced changes and create supply-chain or credential exposure, so the PR is not ready to merge until they are addressed. Sequence Diagram(s)sequenceDiagram
participant GitHubActions
participant NVIDIAProvider
participant OmniRouteGateway
participant OpenCode
participant FactoryWorker
participant GitHub
GitHubActions->>NVIDIAProvider: discover and select model
GitHubActions->>OmniRouteGateway: start and authenticate gateway
GitHubActions->>OmniRouteGateway: validate routed completion
GitHubActions->>OpenCode: configure local OmniRoute provider
OpenCode->>OmniRouteGateway: run smoke completion
GitHubActions->>FactoryWorker: invoke worker
FactoryWorker->>GitHub: claim eligible issue
FactoryWorker->>OpenCode: run agent
OpenCode->>OmniRouteGateway: submit routed request
FactoryWorker->>GitHub: commit changes and create pull request
GitHubActions->>GitHub: publish heartbeat and diagnostics
Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ 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 |
|
Factory 16 implementation is now on this PR. Remaining integration blocker: the repository automation update path is currently refusing workflow mutations from this session, so the parked manual workflow and the NVIDIA owner-recognition regex have not yet been changed. Do not enable the hourly schedule until those two pieces are updated and a manual OmniRoute smoke test succeeds. The worker itself is implemented and uses |
|
The user wants me to review a pull request. Let me first read the changed file to understand what was added. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Let me read the two changed files to understand the PR content. |
|
Let me read the modified workflow file to understand what changes were made. |
|
Let me review the PR content by reading the changed files. I need to get the actual content of the files to provide a meaningful review. The URLs in the links are encoded session IDs - let me decode them and fetch what they contain, or just read the files directly from the local workspace. |
|
The user wants me to review this PR. Let me look at the actual file contents to understand what was changed. |
|
Model not found: nvidia/deepseek-ai/deepseek-v4-flash-0731. Did you mean: deepseek-ai/deepseek-v4-flash, deepseek-ai/deepseek-v4-pro, stepfun-ai/step-3.5-flash? |
| \nFactory 7 adopted this previously unowned PR for the next actionable step. |
|
Let me analyze the PR reviews carefully and provide a comprehensive feedback summary. Looking at the reviews from CodeRabbit:
Now looking at the third critical issue around the cron schedule — it's enabled immediately, but the PR body explicitly states it should remain disabled until manual OmniRoute smoke testing passes and the owner-recognition regex is ready. Additionally, there's a missing The review flagged several minor improvements: a predictable temporary log path that should use On the security side, there's a critical concern about the container logging — it's capturing the agent transcript which could contain sensitive content, and there's a question about whether the There's also an issue with the watchdog registration for the Review of PR #1176 — Add OmniRoute-backed Factory 16 workerThis is a large, well-structured PR. Based on the CodeRabbit review history, most of the early critical bugs have been addressed in the 6 commits already pushed. I'll focus on what I see as remaining or newly introduced concerns. Deficiency Summary🔴 Hard-blockers (must fix before merge)1. The hourly cron is enabled against the PR's own stated prerequisistes Commit 2. No CR flagged this in its second pass and it is still open: 3. The PR body shows the key is fetched from the local OmniRoute container. If 🟡 Should-fix before merge4. The CodeRabbit file list included this file, but 5. Two copies of the heartbeat body still hardcode The loop in the "Report heartbeat" steps builds the body inline. Issue 6. YAML: 🟢 Nice-to-have (defer)7. Free-centralisation of factory constants
8. The test only validates npm publish, but if the daemon ever adds socket access it inherits the job's full Docker socket. The smoke test should run in a job with no Change Assessment (CRISIS + Priority)
Total facing the team: 5 open items across 4 files. Affected Frontend or Test FilesNone — this PR touches only GitHub Actions workflows and scripts. No application code or tests changed. (Coverage still passes; no new test files needed.) Final Verdict — Not ready to merge yetThe following must be resolved:
Once those six items are resolved and a manual dispatch run confirms clean end-to-end execution, this PR is merge-ready. |
|
Let me read the actual changed files to give a thorough review. |
|
The user wants me to review PR #1176. I've already read all the relevant files in the workspace. Let me compile my findings into a proper review based on the actual file contents I have access to. Let me also check the factory-heartbeat-watchdog.yml to verify the Factory 16 registration. Let me re-read the files I have to make sure I'm reviewing what's actually in the PR. |
|
Let me read the actual files that were changed in this PR to provide a proper review. The changed files are:
I need to carefully review the files that are actually in the PR, particularly the core worker script, the factory workflow, and the smoke test configuration, since these are the ones with the most significant changes. Let me start by checking what's available in the workspace. |









Closes #1149
Factory 16 · Multiple Man
Factory 16 is a normal ComicPile autonomous factory using
OpenCode -> OmniRoute -> non-NVIDIA free model.factory:16factory/16-<issue>-omniroute3.8.49Docker image, pinned by digestopencodehttp://127.0.0.1:20128/v1A run probes an explicit ordered list of free non-NVIDIA models. A candidate must first return a real assistant response through OmniRoute, then the actual Factory 16 worker must pass its harmless OpenCode smoke without modifying the ComicPile worktree. The first candidate that passes both gates is locked as
OMNIROUTE_MODELfor that factory session. There is no NVIDIA fallback and no OmniRoute automatic coding router.The workflow also extends only the necessary factory-owner recognition boundaries through
factory:16, including the central OpenCode PR reviewer, so another factory cannot treat Factory 16 work as unowned.The PR merges only after the exact final head proves the OmniRoute/OpenCode path, normal ComicPile CI is green, and actionable review findings are resolved.