fix(issue-filing): enforce mutation-scope denials in generic loop (#191)
The forbidden-mutation loop in assess_issue_filing_mutation_scope never appended reasons; align aggregation with issue-selection handoff checks. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
+18
-13
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user