Skip to content

Releases: Kirvolque/reviewability

Reviewability 0.1.0 — First Stable Release

17 Mar 12:59

Choose a tag to compare

v0.1.0

First stable release.

A CI/CD quality gate that scores pull requests by how hard they are to review.
Catches diffs that are too large, too tangled, or too scattered to review safely — before they merge.

Highlights

  • Scoring formula calibrated against ~2,000 PRs from 15 open-source repositories:
    score = max(0, 1 − effective_size_ratio × (1 + scatter_factor))
  • Movement detection — moved/renamed code is identified and excluded from the size penalty
  • Three-level metrics — hunk, file, and overall diff analysis with configurable thresholds
  • Quality gate with pass/fail exit codes for CI integration
  • Single-file configuration via reviewability.toml — all thresholds and limits in one place

Features

  • 6 hunk-level metrics: lines_changed, added_lines, removed_lines, context_lines, change_balance, is_likely_moved
  • 6 file-level metrics: lines_changed, added_lines, removed_lines, hunk_count, max_hunk_lines, is_likely_moved
  • 10 overall metrics: lines_changed, added_lines, removed_lines, files_changed, moved_lines, change_entropy, largest_file_ratio, scatter_factor, problematic_hunk_count, problematic_file_count
  • Configurable rules: min_overall_score, max_problematic_hunks, max_problematic_files, max_file_hunk_count, max_files_changed, max_added_lines
  • Actionable recommendations with remediation guidance
  • --detailed flag for per-file and per-hunk breakdowns
  • --from-stdin for piping diffs directly
  • -c / --config for custom config paths
  • JSON output for easy integration with other tools
  • Claude Code /reviewability skill included

Install

pip install reviewability

Requires Python 3.12+.

v0.1.0a1 — Initial alpha release

14 Mar 20:21

Choose a tag to compare

Pre-release

First public alpha of reviewability — a CI/CD quality gate that scores pull requests
by how hard they are to review.

What it does

Analyzes the structure of a diff (not the code itself) and computes a reviewability
score from 0.0 (hardest) to 1.0 (easiest). Fails the build when a diff is too large,
too tangled, or too scattered to review safely.

Key signals:

  • Size — how much changed relative to the configured limit
  • Churn — how interleaved adds and removes are within hunks
  • Scatter — how evenly changes are spread across files
  • Movements — relocated code is detected and excluded from scoring

Install

pip install reviewability==0.1.0a1

Usage

git diff HEAD~1 | reviewability --from-stdin

Output is JSON. Exit code 0 = pass, 1 = fail.