diff --git a/review_proofs.py b/review_proofs.py index 5df0ef8..c539a0b 100644 --- a/review_proofs.py +++ b/review_proofs.py @@ -2282,18 +2282,22 @@ def assess_issue_filing_mutation_scope( "comment_issue", "create_issue", ): continue - if absent in text and f"no {absent}" not in text: - if any( - phrase in text - for phrase in ( - f"no {absent}", - f"no {absent}s", - f"without {absent}", - "none performed", - "none.", - ) - ): - continue + if absent not in text: + continue + denial_phrases = ( + f"no {absent}", + f"no {absent}s", + f"without {absent}", + "none performed", + "none.", + "confirm no", + ) + if any(phrase in text for phrase in denial_phrases): + continue + reasons.append( + f"single-mutation run mentions '{absent}' without " + f"confirming it was not performed" + ) if performed == ["create_issue"]: for check in ("label", "comment", "pr", "review", "merge"): if check in text and f"no {check}" not in text: @@ -2424,7 +2428,8 @@ def assess_issue_filing_final_report( reasons = [] downgraded = False for name, result in checks.items(): - if result.get("verdict") == "missing": + verdict = result.get("verdict") + if verdict in ("missing", "incomplete"): downgraded = True reasons.extend(result.get("reasons") or []) elif result.get("downgraded") or not result.get("complete", True):