Skip to main content
Note: Approvability is currently in beta. If you would like to use this feature, please contact us at [email protected].
Approvability

How It Works

When a PR is opened or updated, Macroscope runs a new “Approvability” check. Approvability requires the changes in the PR to clear three hurdles: ownership, eligibility, and correctness. If all three hurdles are cleared, Macroscope will approve the PR automatically. Approvability The Approvability check appears as Macroscope - Approvability Check in two places on your PR:
  1. Checks Tab: Click the “Checks” tab at the top of your PR to see the full check run with detailed results for each of the three checks
  2. PR Conversation: Macroscope will post a comment in the PR conversation with the results of the Approvability check.
Approvability

The Three Checks

1. Ownership ✅

Verifies the PR author is a code owner for all modified files. This ensures only authorized contributors can auto-approve changes to sensitive areas.
  • Uses your repository’s CODEOWNERS file
  • Supports direct username, team, and email-based ownership
FAQ: What if I don’t have a CODEOWNERS file?If no CODEOWNERS file exists, the ownership check fails. See GitHub’s documentation on CODEOWNERS files for more information.

2. Eligibility ✅

Uses AI to evaluate whether a PR is a good candidate for auto-approval.
  • Macroscope applies eligibility guidelines by default.
  • You can optionally add a macroscope_approvability.md file in your repo root to define custom eligibility rules. When present, custom eligibility rules are treated as the highest priority and applied on top of the default guidelines.

Default Eligibility Guidelines

Below are some of the eligibility guidelines that Macroscope uses by default when assessing a PR’s eligibility for auto-approval.
Some examples of PRs that are typically good candidates for auto-approval:
- Changes that don’t impact runtime behavior (e.g. documentation, unit tests, code behind a feature flag).
- Simple, low-risk, self-contained changes (e.g. updating copy, adding a small endpoint)
- Straightforward bug fixes (clear intent, limited scope, obvious resolution).

Some clear signs a PR is **not** eligible for auto-approval:
- High complexity (large or difficult-to-review change)
- Schema impact (e.g. major database or API changes)
- Significant runtime behavior changes (outside small, self-contained bug fixes)
- Major side effects (breaking changes or wide-reaching behavior changes)
- Major refactors
- Production deployment or significant infrastructure changes
- Any security, billing, authentication, or other sensitive-data changes

Example Custom Eligibility Rules

If you want to add custom eligibility rules on top of the default eligibility guidelines, you can do so by creating a macroscope_approvability.md file and defining your own rules. Below are examples of some of the custom eligibility rules that we have defined for our own use in our macroscope_approvability.md file.
If a PR changes files in any of the following paths, DO NOT auto-approve:
- services/auth
- services/billing
- targets/auth
FAQ: What if I don’t have a macroscope_approvability.md file?No worries. If no macroscope_approvability.md file exists, Macroscope’s analysis will rely on its own default eligibility guidelines for determining eligibility.

3. Correctness ✅

Confirms the PR passed Macroscope’s code review Correctness check with zero issues.
  • Waits for the Correctness check run to complete.
  • If any issues were flagged, this check fails.

Setting Up Approvability

  1. Ensure you have a CODEOWNERS file in your repository
  2. (Optional) Create a macroscope_approvability.md file in your repo root defining your eligibility criteria. If no file is provided, Macroscope’s analysis will rely on its own standard judgment for determining eligibility.

Notes

  • Macroscope cannot approve its own PRs (self-approval prevention).
  • All three checks must pass: a single failed check (for whatever reason) blocks auto-approval.
  • If a PR passes eligibility and correctness checks but the author isn’t a code owner of all the changed files, Macroscope will post a review comment indicating approval without formally approving the PR. This makes it clear to reviewers that Macroscope recommends approval.
  • Check results include detailed reasoning so authors understand any failures.
FAQ: What happens if the Approvability check fails?The PR won’t be auto-approved, but you can still get manual approval as usual.