Run this review gate after remediation and verification but before any merge decision.
For all remediation units:
- the repository entry is
active - the selected fix matches the current alert set or a clearly necessary transitive update
- the remediation unit matches the expected dedup key and PR metadata
- required verification passed
- all required GitHub checks, as defined by branch protection, are green
- the diff contains no unrelated changes
For Dependabot, required verification means the mapped target's configured local verification commands passed.
For allowlisted deterministic code scanning rules, required verification may be satisfied by the rule-specific verification contract alone. If the repository entry also defines relevant local validation commands for the mapped target, those commands must pass too.
For secret_scanning, required verification may be satisfied by focused cleanup verification when it proves the secret material was removed or replaced safely. If the repository entry also defines relevant local validation commands for the mapped target, those commands must pass too.
Additional requirements for Dependabot automatic merge:
- any adopted native PR still matches the current advisory set
- the selected version is the smallest patched version allowed by policy
- the diff satisfies the selected profile's
defaults.auto_merge.ecosystem_rules, withunlisted_ecosystem_outcomeapplied when the ecosystem is not listed - no manifest files changed unless the matching profile rule explicitly allows them
- when manifest changes are allowed, every manifest edit is limited to a version specifier for a direct dependency package in the active advisory set; dependency additions, dependency removals, renames, extras churn, script/config edits, or unrelated manifest metadata changes are not auto-mergeable
- no unrelated direct dependency churn appears
If a Dependabot remediation changes manifest files beyond the selected profile's
manifest allowance, the allowed outcome is opened_pr or blocked, not
merged.
Additional requirements for code scanning promotion:
- the rule id is allowlisted in the selected profile's
defaults.code_scanning.allowlisted_rules - the diff matches the deterministic fix contract for that rule
- rule-specific verification passed
mergedis allowed only when the rule is also listed indefaults.code_scanning.auto_merge_rules
If a code scanning rule is allowlisted but not merge-allowed, the correct promotion path is opened_pr, not merged.
Additional requirements for secret_scanning promotion:
- the alert is enabled for the mapped target and still matches the live alert state
- the diff is tightly scoped to secret removal or placeholder replacement
- focused cleanup verification passed, plus any relevant mapped-target validation commands
- the selected profile's
defaults.secret_scanning.prepare_cleanup_prsallows cleanup PR preparation - the selected cleanup shape is permitted by profile policy:
- placeholder or environment-variable replacement requires
allow_placeholder_replacements: true - ignore-pattern cleanup requires
allow_ignore_patterns: true
- placeholder or environment-variable replacement requires
- the change does not require history rewrite or external provider mutation to be safe on the current branch
mergedis never allowed; the promotion path isopened_prorblocked
If required GitHub checks are still pending, the correct outcome is opened_pr until a later merge pass re-evaluates the PR.
merged: review gate passed and merge completedopened_pr: remediation is ready for human review or waiting on checksblocked: remediation cannot proceed because review gate or policy failedskipped: repository entry or target is intentionally not processedfailed: remediation or verification could not complete