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",
|
"comment_issue", "create_issue",
|
||||||
):
|
):
|
||||||
continue
|
continue
|
||||||
if absent in text and f"no {absent}" not in text:
|
if absent not in text:
|
||||||
if any(
|
continue
|
||||||
phrase in text
|
denial_phrases = (
|
||||||
for phrase in (
|
f"no {absent}",
|
||||||
f"no {absent}",
|
f"no {absent}s",
|
||||||
f"no {absent}s",
|
f"without {absent}",
|
||||||
f"without {absent}",
|
"none performed",
|
||||||
"none performed",
|
"none.",
|
||||||
"none.",
|
"confirm no",
|
||||||
)
|
)
|
||||||
):
|
if any(phrase in text for phrase in denial_phrases):
|
||||||
continue
|
continue
|
||||||
|
reasons.append(
|
||||||
|
f"single-mutation run mentions '{absent}' without "
|
||||||
|
f"confirming it was not performed"
|
||||||
|
)
|
||||||
if performed == ["create_issue"]:
|
if performed == ["create_issue"]:
|
||||||
for check in ("label", "comment", "pr", "review", "merge"):
|
for check in ("label", "comment", "pr", "review", "merge"):
|
||||||
if check in text and f"no {check}" not in text:
|
if check in text and f"no {check}" not in text:
|
||||||
@@ -2424,7 +2428,8 @@ def assess_issue_filing_final_report(
|
|||||||
reasons = []
|
reasons = []
|
||||||
downgraded = False
|
downgraded = False
|
||||||
for name, result in checks.items():
|
for name, result in checks.items():
|
||||||
if result.get("verdict") == "missing":
|
verdict = result.get("verdict")
|
||||||
|
if verdict in ("missing", "incomplete"):
|
||||||
downgraded = True
|
downgraded = True
|
||||||
reasons.extend(result.get("reasons") or [])
|
reasons.extend(result.get("reasons") or [])
|
||||||
elif result.get("downgraded") or not result.get("complete", True):
|
elif result.get("downgraded") or not result.get("complete", True):
|
||||||
|
|||||||
Reference in New Issue
Block a user