Browse documentation

Review an Autofix safely

Review an Autofix, understand how people resolve its PRs and issues, and see when Guard warns or pauses a neglected backlog.

Confirm the run you are reviewing

Start with the target, not the proposed change. Confirm the repository, default branch, audited commit, completion date, and Autofix action. If the PR is based on another revision, stop and reconcile the mismatch before reviewing code.

Part 1: identify the exact Autofix run before evaluating its result. Fictional data.

Read the Autofix outcome

The headline and narrative are the quickest summary, but they are not approval evidence. Check that the selected candidate still matches the source audit finding and that the result says whether Guard opened a PR, reused existing work, created only an issue, or stopped for human review.

FindingsCopyDownload
Waiting for review

A safe fix was prepared

A focused pull request was opened for the selected audit finding.

Selected candidate
Runtime image uses a mutable tag
Outcome
Issue and pull request opened
Part 2: the result summary tells you what Guard claims happened and which candidate it selected. Fictional data.

Follow the report, issue, and PR

Each artifact answers a different question:

  • The report records the run outcome, verification, limitations, and next action.
  • The issue preserves the problem, impact, evidence, and durable review thread.
  • The pull request contains the proposed code change when a bounded fix was safe.

An issue-only result is valid. Guard should not manufacture a pull request when the change is broad, ambiguous, duplicate, stale, or cannot be verified credibly.

Recent runs 1 1
Latest reportJuly 16, 2026
  • #184Runtime image uses a mutable tagIssue
  • #185Pin runtime image to an immutable digestPR
Part 3: report, issue, and PR are separate artifacts with different review jobs. Fictional data.

Review the actual diff

Open the provider review request and compare every changed file with the issue and audit evidence. Confirm that the patch is narrow, reversible, and free of unrelated cleanup. Check base and head branches, dependency or lockfile movement, configuration effects, and any behavior outside the selected candidate.

Dockerfile1 changed file
1 FROM node:22-alpine
1-FROM node:22-alpine
1+FROM node:22-alpine@sha256:7a819e4c6c2b...
2 WORKDIR /app
Part 4: review the provider diff itself, not only Guard's summary. Fictional data.

Verify, decide, and rerun

Read the exact verification result and its limitations. A passing targeted check is useful evidence, but it does not replace the repository's required test, security, deployment, or approval gates.

Verification Passed

The targeted container build and startup smoke test passed.

docker build .
Limitations
  • The replacement digest was verified for the existing runtime platform.
  • No production deployment was performed.
Recommended next steps
  • Review and merge the pull request if the change matches repository policy.
  • Rerun Dependency hygiene after merge to confirm the new score.
Part 5: verification, limitations, and next steps define the human decision boundary. Fictional data.
  1. Run any additional checks required by the repository.
  2. Approve, request changes, or close the PR through the repository provider.
  3. Merge only after a qualified human accepts the change and its remaining risk.
  4. Rerun the affected audit on the merged revision.

An open issue or pull request does not change the audit score. The score can move only after the fix is merged and a new audit confirms the resulting state.

Monitor Autofix resolution

The activity line answers how much Autofix work was created. It does not say whether that work helped. Read it together with the outcome rings: a merged PR is an accepted code change, a PR closed without merge is a rejected or superseded proposal, and an open PR is still waiting for a decision.

Activity over time

last 12 weeks
Autofix activity over the last 12 weeksA line chart showing 28 pull requests and 24 issues created by Autofix.0246Apr 24May 22Jun 19Jul 10
PRs Issues
52 total

PR outcomes

  • Merged18
  • Closed without merge4
  • Still open6

Issue outcomes

  • Completed14
  • Not planned3
  • Closed (no reason)2
  • Still open5
The production-shaped Autofix statistics view separates creation volume from the user's final disposition. Fictional data.

The issue ring uses the provider's resolution reason:

  • Completed means the user marked the Autofix issue as done.
  • Not planned records an explicit decision not to apply it.
  • Closed (no reason) is closed work without a structured reason.
  • Still open remains in the human review backlog.

Volume and resolution are different signals. A busy Autofix line can coexist with a growing review backlog; use the outcome rings to confirm that people are actually merging, closing, or completing the work.

Understand automatic pause

Guard warns when any one of these conditions is reached: 5 open PRs, 10 open issues, or a 14-day-old item. If the backlog reaches 10 open PRs, 20 open issues, or a 30-day-old item, Guard pauses Autofix automatically so it does not keep adding unattended artifacts.

Before the pause

Autofix is piling up items

6 PRs and 12 issues are open right now. If they're not landing, close them or work through them — otherwise we'll pause autofix automatically to avoid more clutter.

We warn at 5 open PRs, 10 open issues, or 14 days on the oldest item. Autofix pauses at 10 PRs, 20 issues, or 30 days. From here: 4 more PRs, 8 more issues, or August 3, 2026 if the oldest item stays open.
Open them on GitHub
After a pause threshold is reached

Autofix is on pause

We paused autofix on August 3, 2026 because 10 PRs and 18 issues had been waiting for someone to look at them since July 4, 2026. Work through (or close) the old items, then turn it back on — you'll start from a clean slate.

Re-enable autofix
Two separate product states: Guard warns before the limit, then freezes the pause-time snapshot and waits for an explicit re-enable. Fictional dates and counts.

The pause does not close or merge existing work. Review or close the old items first. Autofix does not resume by itself when the counts fall: a user must choose Re-enable autofix, after which Guard starts the improvement loop again from a clean backlog state.