reticlehq/reticle - Open Source PR Review Scorecard

AI agents can generate code, but still struggle to understand what they build. Reticle brings Jev-style machine-native runtime perception to web & desktop applications.

C-Rank Grade: S (Elite) - 72/100

External PR Merge Rate: 55%

Response Time: 2h

First Timer Success: 21%

Frequently Asked Questions

Is reticlehq/reticle welcoming to first-time open-source contributors?

reticlehq/reticle has a recorded first-timer success rate of 21.1%. Repositories ranked S 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 reticlehq/reticle respond to incoming external pull requests in approximately 1.7 hours on average. Keeping PRs focused on single tasks and ensuring tests pass helps maintainers review faster.

What does the 72.4 C-Rank™ score (S 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 72.4 places reticlehq/reticle in the S tier.

What is the external contributor pull request merge rate for reticlehq/reticle?

The external contributor pull request merge rate for reticlehq/reticle is 55.1%, based on public PR activity from non-core contributors.

Are there Good First Issues available in reticlehq/reticle?

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

reticlehq
reticlehq/reticleS•Elite1.2k
GitHub
Back to Explorer
reticlehq

reticlehq/reticle

1,186
Active (30d)S•Elite(72/100)TypeScript

AI agents can generate code, but still struggle to understand what they build. Reticle brings Jev-style machine-native runtime perception to web & desktop applications.

GitHub
Compare••
Jump to:

AI Maintainer Review Guidelines

Review Persona

Strict Architecture Gatekeeper

Warmth Score
7.1/10
Patience Score
7.8/10
Nitpick Rate
40%

Strict review standards in reticlehq/reticle. Ensure PR scope matches issue requirements closely before requesting review.

Top PR Submission Do's

  • •Ensure code complies with the project coding style
  • •Keep PRs scoped to a single concern
  • •Include context and link to the related issue

Top PR Friction Pitfalls (Don'ts)

  • •Do not submit PRs without linking an issue
  • •Do not break existing tests without fixing them
  • •Do not mix unrelated refactors in a single PR
Response Velocity
1 hours
Standard maintainer review cycle

Average Response Latency

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

Merge Efficiency
55.1%
Moderate PR acceptance rate

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

First-Timer Success
21.1%
Accepts new contributor PRs

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
57 core
Highly collaborative maintainer core
Diagnostic Health HUD
55.1%
Merge Gauge
21.1%
1st-Timer
Community Vibe57/100

Embed C-Rank Badge

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

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

Active Good First Issues (5)

View on GitHub

Problem reticle_session { action: "list" } returns nextAction.command as reticle open <url> (and reticle init in other branches). On an install where Reticle runs only through npx (the default MCP registration), there is no reticle on PATH, so the exact command fails with "command not found". The agent then has to guess the alternative. The CLI's own messages already say npx @reticlehq/server …. Repro Register Reticle only as an MCP server (no global install), connect an app, close its tab, call reticle_session { action: "list" }, and run nextAction.command in a shell. Where server/src/portal/session/no-session-next-action.ts (INIT_COMMAND, OPEN_COMMAND), plus the bare reticle open in session-info.ts and live-call-text.ts. Expected A command field is runnable as given. Use the same npx @reticlehq/server <cmd> spelling the CLI messages use, or detect the bin and choose. Related: #1421, where the same next action points at a URL that is no longer listening. Done when every command re

📅 Opened Oct 7, 2026💬 1 comment
Quality: 75/100Contribute

Problem After the 3.6.0 fix to stale-response-applied, reads with different key sets, different ids or a single-task fan-out no longer pair. Two reads of one PostgREST/Supabase table that have the SAME keys but ask for different columns (select=id,status and select=notes) still pair when they overlap and settle out of order. Both answers are wanted and neither overwrites the other's view, but the verdict comes back as a race. Repro In one action, fire two GETs to /rest/v1/items?select=a&parent=eq.1 and, 10 ms later, /rest/v1/items?select=b&parent=eq.1, with the first settling last. Make the page update after each. The act_and_wait result reports stale-response-applied. Where engine/src/disagreement/stale-response.ts, couldSupersede and the param sets beside it. Expected Projection params (select, fields, columns, include, expand) make two reads different shapes, the same way a differing key set already does. A real filter race (same select, different status=eq.x) still fires. Done when

📅 Opened Oct 7, 2026💬 0 comments
Quality: 75/100Contribute

Problem The minimize button inside the Reticle HUD chat panel closes the panel by setting aria-hidden="true" on it while that button still has focus. Chrome logs "Blocked aria-hidden on an element because its descendant retained focus", keyboard and screen-reader users are left focused inside a hidden region, and the app's console gains an accessibility warning the app didn't cause. Repro Open the HUD chat, click its minimize (caret) button, and check the console in Chrome. Where adapters/realm/browser/src/presenter/presenter-shell.ts:508 closeChat() sets aria-hidden="true" on the chat panel without moving focus out of it first. Expected If focus is inside the panel when it closes, move focus to the chat toggle before hiding it. Adding inert to the closed panel as well would stop focus re-entering it. Done when After closeChat() with focus in the panel, the active element (in the HUD's shadow root) is the chat toggle No aria-hidden focus warning when the panel is closed from inside

📅 Opened Oct 6, 2026💬 1 comment
Quality: 50/100Contribute

Problem reticle_act_and_wait { ref: "find:aria-label=Open menu" } fails with "that ref is stale: refs are invalidated whenever the DOM re-renders". That string was never a ref, so the explanation is wrong and the agent retries the same mistake. On dashboards that refetch, even genuine refs keep going stale, and the recovery says to re-query, while target: { role, name } or { text }, which resolves at action time, would have worked first try. Where adapters/realm/browser/src/dom/addressing/refs.ts:234: resolve returns null both for an unknown string and for a detached element, and both become the stale-ref refusal. core/src/verdict/predicate-tree.ts:152: core already has the minted shape, SESSION_REF = /^e\d+$/, but act refs aren't checked against it. server/src/surface/tools/error-recovery.ts:109 (STALE_REF): the recovery text. Refusing to silently re-resolve a stale ref is deliberate and stays. Expected A ref that doesn't match the minted shape is refused at the tool boundary: "fin

📅 Opened Oct 6, 2026💬 0 comments
Quality: 75/100Contribute

Problem With source mapping working (every control in nearMiss carries source), a failing reticle_assert { action: "now" } still lists an instrumentationGaps entry of kind no-source-mapping and advises installing the build plugin. The real problem was the locator. Agents go and reinstall a plugin that is already working. Repro On a Next or Vite app with source mapping on, without acting first: reticle_assert { action: "now", predicate: { kind: "element", query: { role: "button", name: "Wrong name" } } }. The response has nearMiss[].source and also no-source-mapping. Where server/src/surface/tools/assert/assert-verdict.ts:260 passes session.lastAct.source() to gapsForAction. With no prior act (or a prior act on an unstamped control) that is undefined, and the gap rule fires on any failure with no source. The same function computes the verdict's own source with assertSource({ predicate, evidence, pass, lastActSource }) a few lines later (:275). Expected Compute assertSource first and pas

📅 Opened Oct 6, 2026💬 1 comment
Quality: 75/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 reticlehq/reticle

When evaluating whether to contribute to reticlehq/reticle, 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 reticlehq/reticle acknowledge new external contributions in approximately 1 hours. Out of all submitted pull requests from non-core authors in the last 180-day window, 55.1% were successfully merged into the primary branch.

Frequently Asked Questions - Contributing to reticlehq/reticle

01

Is reticlehq/reticle welcoming to first-time open-source contributors?

reticlehq/reticle has a recorded first-timer success rate of 21.1%. Repositories ranked Elite 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 ~1 hours. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 72.4 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 72.4 places reticlehq/reticle in the Elite tier.

04

What is the external contributor pull request merge rate for reticlehq/reticle?

The external pull request merge rate is 55.1%. 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 reticlehq/reticle?

Yes, reticlehq/reticle currently has 81 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 reticlehq/reticle 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.