mvschwarz/openrig - Open Source PR Review Scorecard

Build your own network of agents from Claude Code, Codex and Pi: persistent teams with roles, shared context and owned work.

C-Rank Grade: A (Welcoming) - 62/100

External PR Merge Rate: 9%

Response Time: -

First Timer Success: 17%

Frequently Asked Questions

Is mvschwarz/openrig welcoming to first-time open-source contributors?

mvschwarz/openrig has a recorded first-timer success rate of 16.7%. Repositories ranked A typically provide actionable feedback during code reviews and actively nurture new community contributors.

How fast can I expect code review feedback on my pull request?

Maintainers in mvschwarz/openrig respond to incoming external pull requests in approximately 0.0 hours on average. Keeping PRs focused on single tasks and ensuring tests pass helps maintainers review faster.

What does the 62.3 C-Rank™ score (A Tier) represent?

The C-Rank™ system evaluates GitHub projects on a 0–100 scale using real data: PR merge rates, review turnaround time, active maintainer presence, and first-time contributor success. A score of 62.3 places mvschwarz/openrig in the A tier.

What is the external contributor pull request merge rate for mvschwarz/openrig?

The external contributor pull request merge rate for mvschwarz/openrig is 9.3%, based on public PR activity from non-core contributors.

Are there Good First Issues available in mvschwarz/openrig?

mvschwarz/openrig currently has 1 active issue(s) tagged with beginner-friendly labels like "good first issue", "beginner", or "up-for-grabs".

mvschwarz
mvschwarz/openrigA•Welcoming6.8k
GitHub
Back to Explorer
mvschwarz

mvschwarz/openrig

6,819
Active (30d)A•Welcoming(62/100)TypeScript

Build your own network of agents from Claude Code, Codex and Pi: persistent teams with roles, shared context and owned work.

GitHub
Compare••
Jump to:

AI Maintainer Review Guidelines

Review Persona

Strict Architecture Gatekeeper

Warmth Score
7.5/10
Patience Score
8.0/10
Nitpick Rate
40%

Strict review standards in mvschwarz/openrig. Ensure PR scope matches issue requirements closely before requesting review.

What Contributors Actually Say

Discussions in mvschwarz/openrig focus heavily on practical implementation feedback, code formatting standards, and issue reproduction details.

Hidden Friction Signals

Unlinked PRs without issue context and changes that fail automated test suites face the highest review friction.

Unwritten Rules

  • •1) Keep PR scope strictly aligned with the linked issue.
  • •2) Ensure local linters pass before opening a review.
  • •3) Maintain full test coverage for modified logic.

Top PR Submission Do's

  • •Add or update tests for changed behavior before requesting review
  • •Link the issue and include reproduction context in the PR
  • •Keep PRs small and focused on one change

Top PR Friction Pitfalls (Don'ts)

  • •Do not leave requested test coverage unresolved
  • •Do not open context-free PRs
  • •Do not mix unrelated refactors with feature work
Response Velocity
-
No reviewer activity recorded

Average Response Latency

Tracks hours until a maintainer leaves a review, comment, or PR response.

Merge Efficiency
9.3%
Selective PR acceptance rate

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

First-Timer Success
16.7%
Accepts new contributor PRs

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
30 core
Highly collaborative maintainer core
Diagnostic Health HUD
9.3%
Merge Gauge
16.7%
1st-Timer
Community Vibe9/100

Embed C-Rank Badge

Show contributors that your repository actively reviews and merges external pull requests.

GetMerged C-Rank badge for mvschwarz/openrig
[![GetMerged C-Rank](https://getmerged.abhishekco.de/api/badge/mvschwarz/openrig)](https://getmerged.abhishekco.de/mvschwarz/openrig?utm_source=github&utm_medium=badge)

Active Good First Issues (5)

View on GitHub

Request Let a --human-intent update queue item be posted into the Slack thread of an earlier item, for example with rig queue create … --human-intent update --reply-to <qitemId>. Why Every rig queue create --destination <human>@external starts a new top-level post. Follow-ups about the same piece of work, such as "the pull request you approved is merged" or "the fix is live", end up as separate posts. The human loses the thread of the conversation, and a busy channel gets hard to follow. --human-detail-file only adds a reply under the new post. Why it is safe for updates only Thread reuse is deliberately scoped per qitem (daemon/dist/domain/gateway/slack/slack-subsystem.js:224-229): two decision qitems sharing one root would make an inbound reply ambiguous and could resume the wrong human gate. Updates never take a reply (makeHumanReplyResolver returns not-applicable for humanIntent === "update"), so posting an update under an earlier root adds no ambiguity. Decisions would keep thei

📅 Opened Sep 28, 2026💬 2 comments
Quality: 90/100Contribute

Summary Every managed runtime: pi seat reports agentActivity.state = "unknown" permanently, whether it is working or idle. The pi runner does post activity hooks to /api/activity/hooks, but its payload never includes the occupant generation field. The daemon's activity store gates freshness on generation (W2a-1). When the node has a live occupant generation and the recorded hook's generation is null, it returns unknown (generation_unverifiable). As a result, idle/working detection, idle-gate watchdogs and "parked" diagnosis are blind for all Pi seats. Environment OpenRig CLI/daemon 0.5.14 (cc75efdd) pi 0.87.1 (~/.local/bin/pi), managed via OpenRig's pi RPC runner Models: deepseek/deepseek-flash, qwen-token-plan-individual/qwen3.8-flash macOS 27.0 (arm64), tmux 3.7c Observed Three Pi seats were added to a running rig with rig add. All three completed real model turns and are running/ready: $ rig ps --nodes --rig kernel --json (pi rows) queue-worker-pi1@kernel running {"state": "unkn

📅 Opened Sep 24, 2026💬 1 comment
Quality: 90/100Contribute

Summary On a machine where only Claude Code is logged in, the kernel boots correctly on the Claude-only variant. But the UI shows the kernel with runtime: codex seats, so it looks as if the running kernel depends on Codex. What happens selectVariant() in daemon/dist/domain/kernel-boot.js picks rig-claude-only.yaml when claudeCode === "ok" and Codex auth fails. The live rig is correct: rig ps --nodes --rig kernel: advisor-lead, operator-agent and queue-worker are all claude-code, and operator-human is terminal GET /api/rigs/<kernelId>/spec: claude-code ×3, terminal GET /api/rigs/<kernelId>/nodes: only claude-code / terminal However, the spec library only indexes the default dual-runtime file: GET /api/specs/library {"kind":"rig","name":"kernel","sourceType":"builtin", "relativePath":"rigs/launch/kernel/rig.yaml", ...} That file has runtime: codex for the operator agent and the queue worker, and its summary says "Dual-runtime variant; Claude Code + Codex both authenticated." rig-cla

📅 Opened Sep 23, 2026💬 2 comments
Quality: 90/100Contribute

[Bug] rig up fails readiness on containerized / older-tmux hosts — tab field-separator collision Summary On hosts running tmux 3.3a (the version shipped by Debian 12 / bookworm, Ubuntu 22.04, and many common Linux container base images), rig up <spec> fails every node with: Readiness timeout after 30s — harness did not become interactive: tmux session not responsive even though the tmux sessions are clearly alive and the agent harness (Claude Code / Codex) is running inside them. Root cause: tmux 3.3a substitutes TAB bytes (0x09) with _ (underscore) in -F format output, which breaks the adapter's tab-delimited parser. Environment where reproduced Host OS: Linux (arm64), container base node:22-bookworm (Debian 12) tmux version in container: tmux 3.3a (Debian package) OpenRig: @openrig/cli (latest, installed via npm i -g) Rig spec: research-team (builtin) Node: 22.x Not observed on macOS hosts with Homebrew tmux 3.4+. Reproduction In any Debian 12 / Ubuntu 22.04 container or VM: a

📅 Opened Apr 20, 2026💬 1 comment
Quality: 55/100Contribute

Summary On a machine with cmux 0.63.2, OpenRig's daemon cannot control cmux even though shell cmux works fine. rig setup and the initial rig doctor both report [OK] cmux_daemon, so the failure is invisible until the user clicks the Open CMUX button in the UI and nothing happens. Root cause Recent cmux versions migrated automation.socketControlMode to default "cmuxOnly" (see socketControlPasswordMigrationVersion in cmux defaults). In that mode cmux rejects all external socket clients at the control-mode layer — no password, env var, or daemon restart will help. OpenRig needs socketControlMode: "automation" (or more permissive) in ~/.config/cmux/settings.json. Reproduction Fresh npm install -g @openrig/cli on macOS with cmux 0.63.2 rig setup → reports [OK] cmux_install, [OK] cmux_auth rig doctor → reports [OK] cmux_shell, [OK] cmux_daemon (false positive) Open UI, click CMUX on any node → nothing opens, no error surfaced in UI rig daemon stop && rig daemon start → now rig doct

📅 Opened Apr 14, 2026💬 3 comments
Quality: 70/100Contribute
Looking for more TypeScript beginner tasks?Explore TypeScript GFI

Contributor Community Vibe Feedback

Rate what actually matters after opening a pull request here.

Have you contributed to this repo?

Rate your first-hand PR experience (review speed, maintainer responsiveness, and onboarding ease) to help other contributors.

3 ratings required
Maintainer helpfulness
Review speed
Beginner friendliness

Contributor Compatibility & Review Speed Analysis for mvschwarz/openrig

When evaluating whether to contribute to mvschwarz/openrig, response velocity and maintainer engagement are crucial. GetMerged continuously tracks pull request trajectories, first-comment latency, and code review rounds to help developers avoid submitting pull requests to backlogged repositories.

Currently, maintainers of mvschwarz/openrig acknowledge new external contributions in approximately -. Out of all submitted pull requests from non-core authors in the last 180-day window, 9.3% were successfully merged into the primary branch.

Frequently Asked Questions - Contributing to mvschwarz/openrig

01

Is mvschwarz/openrig welcoming to first-time open-source contributors?

mvschwarz/openrig has a recorded first-timer success rate of 16.7%. Repositories ranked Welcoming typically provide actionable feedback during code reviews and actively nurture new community contributors.

02

How fast can I expect code review feedback on my pull request?

The initial maintainer response time averages ~-. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 62.3 C-Rank™ score represent?

The C-Rank™ index scores repositories on a 0 to 100 scale using an objective formula: external PR merge rates, initial response speed, active maintainer count, and first-time contributor retention. A score of 62.3 places mvschwarz/openrig in the Welcoming tier.

04

What is the external contributor pull request merge rate for mvschwarz/openrig?

The external pull request merge rate is 9.3%. GetMerged isolates non-core community contributions so external developers get an accurate benchmark of PR acceptance probability.

05

Are there beginner Good First Issues open in mvschwarz/openrig?

Yes, mvschwarz/openrig currently has 1 active issue(s) tagged with beginner-friendly labels. You can inspect these directly from the repository issues tab.

GetMerged C-Rank™ Indexing Standard

All metrics displayed for mvschwarz/openrig are automatically retrieved via the public GitHub API and recalculated daily. Insider pull requests submitted by repository owners or organization members are excluded from merge rate calculations to preserve objective external contributor statistics.