GaloisInc/saw-script - Open Source PR Review Scorecard

The Software Analysis Workbench

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

External PR Merge Rate: 82%

Response Time: 22h

First Timer Success: 73%

Frequently Asked Questions

Is GaloisInc/saw-script welcoming to first-time open-source contributors?

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

What does the 74.5 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 74.5 places GaloisInc/saw-script in the S tier.

What is the external contributor pull request merge rate for GaloisInc/saw-script?

The external contributor pull request merge rate for GaloisInc/saw-script is 82.0%, based on public PR activity from non-core contributors.

Are there Good First Issues available in GaloisInc/saw-script?

GaloisInc/saw-script currently has 4 active issue(s) tagged with beginner-friendly labels like "good first issue", "beginner", or "up-for-grabs".

GaloisInc
GaloisInc/saw-scriptS•Elite520
GitHub
Back to Explorer
GaloisInc

GaloisInc/saw-script

520
Active (30d)S•Elite(75/100)HAHaskell

The Software Analysis Workbench

GitHub
Compare••
Jump to:

AI Maintainer Review Guidelines

Review Persona

Welcoming Community Builder

Warmth Score
7.9/10
Patience Score
8.2/10
Nitpick Rate
40%

Collaborative maintainer environment in GaloisInc/saw-script. Reviews community pull requests with focus on project quality.

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
22 hours
Standard maintainer review cycle

Average Response Latency

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

Merge Efficiency
82.0%
High acceptance rate for external PRs

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

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

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
13 core
Highly collaborative maintainer core
Diagnostic Health HUD
82.0%
Merge Gauge
72.7%
1st-Timer
Community Vibe68/100

Embed C-Rank Badge

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

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

Active Good First Issues (5)

View on GitHub

Currently there is no way in SAWScript to construct an Int value that is less than zero. This may or may not have been intentional; however, it's undocumented, unexpected, and not consistent with the name of the type. Rather than rename the type to Nat or UInt or something at great length, we should just lift this restriction. One way is via #3392: currently you can only lift back to Int from Cryptol bitvectors and that mechanism is unsigned-only, but #3392 expands that to Cryptol's Integer type. We don't necessarily need to add SAWScript-level arithmetic, but we should at least allow negative integer literals. That is neither difficult to parse nor difficult to implement. Note that before allowing negative Int values we do need to take steps to avoid exposing them as Cryptol numeric types, which are unsigned. This is being handled in #3392 and #3393.

📅 Opened Sep 4, 2026💬 0 comments
Quality: 40/100Contribute

In the course of chasing #3343 it became clear that bvEq_refl is missing from basic_ss. This is silly and should be fixed. (There are reasons to not necessarily unfold or rewrite equalities, which is why a lot of the equality-related rules are left out. But those reasons don't extend to reducing reflexivity.)

📅 Opened Aug 24, 2026💬 0 comments
Quality: 40/100Contribute

Suppose you have these files: a/a.saw b/b.saw c/c.saw and suppose both b.saw and c.saw do include_once "../a/a.saw", and c.saw also includes b.saw. Then from the perspective of c.saw the path of a.saw is ../a/a.saw, but from the perspective of b.saw the path is ../b/../a/a.saw, because we try to make includes relative to where they're included from. But include_once just looks at the path strings, and they're different, so this doesn't work as intended. This does, however, seem like a reasonable thing to do and to want include_once to work for, so I guess we do need it to normalize paths for comparison... much as normalizing paths is annoying and generally wrong. (That or we could check the system-level file identity... but I'm not sure how you do that from Haskell or whether it's workable in Windows.) @qsctr

📅 Opened Jul 27, 2026💬 6 comments
Quality: 40/100Contribute

The SAWScript typechecker and interpreter are built with -Wno-incomplete-uni-patterns and there's a long comment at the bottom of Typechecker.hs that explains why. Basically, there are a couple places that use irrefutable patterns with incomplete matches as a shortcut. These basically function as assertions that the omitted cases of the partial matches are not reached, which is fine until they are and then it turns out that the generated code throws UserError behind your back. That results in the following undesirable behavior: sawscript> let x = 3 saw-script/src/SAWScript/Typechecker.hs:2216:5-60: Non-exhaustive patterns in [(pat'', e1, s)] sawscript> IOW, it crashes but doesn't exit, and while it does print the Haskell source location, it doesn't print what the offending value was. This is not what we want; the handful of affected cases should be turned into explicit panics that print useful messages. We can afford a couple extra lines of code for that in a project the size of SA

📅 Opened Jul 7, 2026💬 2 comments
Quality: 30/100Contribute

When you run saw --help, it returns exit code 2: $ saw --help <snip> $ echo $? 2 This is a bit unfortunate, as I sometimes use saw --help as a basic smoke test to verify if saw can run at all on a given machine, but the non-zero exit code makes scripts believe that saw --help isn't working as expected. Any objections to changing the behavior to return exit code 0 instead?

📅 Opened Jun 22, 2026💬 1 comment
Quality: 30/100Contribute
Looking for more Haskell beginner tasks?Explore Haskell 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 GaloisInc/saw-script

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

Frequently Asked Questions - Contributing to GaloisInc/saw-script

01

Is GaloisInc/saw-script welcoming to first-time open-source contributors?

GaloisInc/saw-script has a recorded first-timer success rate of 72.7%. 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 ~22 hours. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 74.5 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 74.5 places GaloisInc/saw-script in the Elite tier.

04

What is the external contributor pull request merge rate for GaloisInc/saw-script?

The external pull request merge rate is 82.0%. 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 GaloisInc/saw-script?

Yes, GaloisInc/saw-script currently has 4 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 GaloisInc/saw-script 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.