rocky-data/rocky - Open Source PR Review Scorecard

A SQL transformation engine that type-checks your whole pipeline and catches breaking changes before they run — branches, replay, column-level lineage, compile-time contracts, per-model cost. Adapters: Databricks, Snowflake, BigQuery, DuckDB. Single static Rust binary. Apache 2.0.

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

External PR Merge Rate: 94%

Response Time: 3d

First Timer Success: 83%

Frequently Asked Questions

Is rocky-data/rocky welcoming to first-time open-source contributors?

rocky-data/rocky has a recorded first-timer success rate of 83.3%. 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 rocky-data/rocky respond to incoming external pull requests in approximately 76.9 hours on average. Keeping PRs focused on single tasks and ensuring tests pass helps maintainers review faster.

What does the 68.0 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 68.0 places rocky-data/rocky in the A tier.

What is the external contributor pull request merge rate for rocky-data/rocky?

The external contributor pull request merge rate for rocky-data/rocky is 93.7%, based on public PR activity from non-core contributors.

Are there Good First Issues available in rocky-data/rocky?

rocky-data/rocky does not currently have active "good first issue" tags indexed, but accepts external contributions through standard GitHub issue tracking.

rocky-data
rocky-data/rockyA•Welcoming304
GitHub
Back to Explorer
rocky-data

rocky-data/rocky

304
Active (30d)A•Welcoming(68/100)Rust

A SQL transformation engine that type-checks your whole pipeline and catches breaking changes before they run — branches, replay, column-level lineage, compile-time contracts, per-model cost. Adapters: Databricks, Snowflake, BigQuery, DuckDB. Single static Rust binary. Apache 2.0.

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 rocky-data/rocky. 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
3 days+
Standard maintainer review cycle

Average Response Latency

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

Merge Efficiency
93.7%
High acceptance rate for external PRs

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

First-Timer Success
83.3%
Strong first-timer PR acceptance rate

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
2 core
Small core review team
Diagnostic Health HUD
93.7%
Merge Gauge
83.3%
1st-Timer
Community Vibe62/100

Embed C-Rank Badge

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

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

Active Good First Issues (5)

View on GitHub

What policy.rs has three more text renderers that still call println!, so no test can read what they produce: Function Command render_test_text rocky policy test render_text rocky policy check render_freeze_text rocky policy freeze / unfreeze Give each the shape #1879 gave render_show_text: fn render_test_text<W: Write>(w: &mut W, out: &PolicyTestOutput) -> io::Result<()> Why this is a separate issue and not part of #1879 Changing the signature is the cheap half and it delivers nothing on its own. The value is the tests, and the assertion has to be the whole block — a substring assertion is the exact weakness #1879 exists to close, because round one of the #1874 review lost a line that was present and merely shorter. So this is four renderers' worth of full-block tests, each needing its own output fixture. That is its own review, not a rider on a PR that closed one renderer. Why it matters here render_freeze_text is the highest-value of the three. It prints the ! {note}

📅 Opened Sep 10, 2026💬 0 comments
Quality: 50/100Contribute

Five RockyClient methods carry a worked Example: block. The six product_* methods carry none. They explain what the command does, but never show a caller what to do with the object that comes back. rocky product is the spec-driven data-product surface, and its result objects are the least obvious in the SDK — product_verify in particular returns a report whose status must be read instead of the exit code. That is exactly the thing an example should show. What is there now sdk/python/src/rocky_sdk/client.py: Method Line Has Example: discover 896 yes plan 941 yes apply 987 yes review_status 1037 yes run 1172 yes product_verify 1080 no product_compile 1102 no product_approve 1116 no product_status 1130 no product_list 1143 no product_journal 1157 no The slice Add an Example: block to each of the six, following the format discover uses (client.py:896): reStructuredText, a sentence of framing, then a :: literal block. Example: List every

📅 Opened Sep 7, 2026💬 0 comments
Quality: 50/100Contribute

rocky lineage-diff is the one Modeling command with no reference section. It appears twice in the CLI reference — once in the group list, once as an un-linked row in the command index — and nowhere else. A reader who wants its flags has to run --help. Every other Modeling verb (compile, lineage, test, ci, ci-diff, preview, emit-sql, catalog, publish-ir, imports) has a full section in docs/src/content/docs/reference/commands/modeling.md. What is there now docs/src/content/docs/reference/cli.md:11 group list: "..., `lineage`, `lineage-diff`, `test`, ..." docs/src/content/docs/reference/cli.md:38 | `lineage-diff` | Report the downstream blast radius of a change, for PR review. | That index row is un-linked, because there is no section to link to. Nothing under reference/commands/ documents the command. The slice Add a ## \rocky lineage-diff`section todocs/src/content/docs/reference/commands/modeling.md, then link the index row in cli.md:38` to it. Copy the shape of the ## \rocky

📅 Opened Sep 7, 2026💬 0 comments
Quality: 60/100Contribute

The Rocky language server completes model names, column names, and SQL functions. It never offers a pipeline step keyword. Typing de in a .rocky file suggests SQL functions, not derive. Every other piece is already in place: the keyword list exists as a constant, and the completion handler already knows which file it is completing in. What is there now engine/crates/rocky-server/src/lsp.rs:1370 — async fn completion(...). It dispatches on get_completion_context: CompletionContext::ModelReference -> model names (lsp.rs:1388) CompletionContext::ColumnReference -> columns of that model (lsp.rs:1409) CompletionContext::Function -> SQL_FUNCTIONS (lsp.rs:1425) CompletionContext::Unknown -> SQL_FUNCTIONS + models (lsp.rs:1434) No arm contributes a keyword. The list already exists, one screen away, used by the document-symbol path: // lsp.rs:4069 /// Pipeline step keywords recognized in `.rocky` files. const ROCKY_STEP_KEYWORDS: &[&str] = &[

📅 Opened Sep 7, 2026💬 0 comments
Quality: 60/100Contribute

The VS Code TextMate grammar highlights 10 of the DSL's keywords. Seven more are real syntax the parser consumes, and they render as plain identifiers today. Window frames are the visible gap: an entire over (partition by ... rows between unbounded preceding and current row) clause has no colour at all. This is a single-file change in editors/vscode/. No engine code, no just codegen. What is there now editors/vscode/syntaxes/rocky.tmLanguage.json, the pipeline-steps repository entry: { "match": "\\b(from|where|group|derive|select|join|sort|take|distinct|replicate)\\b", "name": "keyword.control.rocky" }, { "match": "\\b(as|on|keep|asc|desc|inner|left|right|cross|full)\\b", "name": "keyword.other.rocky" } The gap Every keyword below is a #[token(...)] in engine/crates/rocky-lang/src/token.rs and is consumed by the parser. None is highlighted: Keyword token.rs Consumed at let :13 parser.rs:145, :178, :195 — a model-level declaration over :73 parser.rs:933 partition :75 pa

📅 Opened Sep 7, 2026💬 0 comments
Quality: 50/100Contribute
Looking for more Rust beginner tasks?Explore Rust 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 rocky-data/rocky

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

Frequently Asked Questions - Contributing to rocky-data/rocky

01

Is rocky-data/rocky welcoming to first-time open-source contributors?

rocky-data/rocky has a recorded first-timer success rate of 83.3%. 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 ~3 days+. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 68.0 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 68.0 places rocky-data/rocky in the Welcoming tier.

04

What is the external contributor pull request merge rate for rocky-data/rocky?

The external pull request merge rate is 93.7%. 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 rocky-data/rocky?

rocky-data/rocky does not have open beginner labels indexed currently, but external PRs for bugs and documentation improvements are evaluated via normal issue triage.

GetMerged C-Rank™ Indexing Standard

All metrics displayed for rocky-data/rocky 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.