Merge pull request 'feat: require proof-backed claims in reviewer handoff reports (Closes #395)' (#397) from feat/issue-395-proof-backed-review-handoff into master
This commit was merged in pull request #397.
This commit is contained in:
@@ -1735,6 +1735,11 @@ def build_final_report(checkout_proof, inventory, validation, contamination,
|
||||
if report_text
|
||||
else {"proven": True, "block": False, "reasons": []}
|
||||
)
|
||||
proof_backed_handoff = (
|
||||
assess_proof_backed_handoff_report(report_text)
|
||||
if report_text and _PROOF_BACKED_HANDOFF_HINT.search(report_text)
|
||||
else {"proven": True, "block": False, "reasons": []}
|
||||
)
|
||||
if baseline_validation is None and report_text:
|
||||
baseline_validation = assess_reviewer_baseline_validation_proof(
|
||||
report_text=report_text,
|
||||
@@ -1937,6 +1942,11 @@ def build_final_report(checkout_proof, inventory, validation, contamination,
|
||||
"reviewer baseline validation proof missing or failed (#325)"
|
||||
)
|
||||
downgrade_reasons.extend(baseline_validation.get("reasons", []))
|
||||
if not proof_backed_handoff.get("proven"):
|
||||
downgrade_reasons.append(
|
||||
"proof-sensitive handoff claims lack command/tool evidence (#395)"
|
||||
)
|
||||
downgrade_reasons.extend(proof_backed_handoff.get("reasons", []))
|
||||
if not already_landed_classification.get("proven"):
|
||||
downgrade_reasons.append(
|
||||
"already-landed classification wording missing or invalid (#295)"
|
||||
@@ -5088,6 +5098,12 @@ _PR_QUEUE_CLEANUP_REPORT_HINT = re.compile(
|
||||
re.I,
|
||||
)
|
||||
|
||||
_PROOF_BACKED_HANDOFF_HINT = re.compile(
|
||||
r"task:\s*review-merge-pr|task mode:\s*review-merge-pr|"
|
||||
r"review-merge-pr|controller handoff",
|
||||
re.I,
|
||||
)
|
||||
|
||||
|
||||
def assess_pr_queue_cleanup_report(report_text: str | None) -> dict:
|
||||
"""#390: validate PR-only cleanup final reports (one PR per run)."""
|
||||
@@ -5566,3 +5582,10 @@ def assess_worktree_ownership_report(report_text, **kwargs):
|
||||
from reviewer_worktree_ownership import assess_worktree_ownership_report as _assess
|
||||
|
||||
return _assess(report_text, **kwargs)
|
||||
|
||||
|
||||
def assess_proof_backed_handoff_report(report_text, **kwargs):
|
||||
"""#395: proof-sensitive review handoff claims require explicit evidence."""
|
||||
from reviewer_proof_backed_handoff import assess_proof_backed_handoff_report as _assess
|
||||
|
||||
return _assess(report_text, **kwargs)
|
||||
|
||||
Reference in New Issue
Block a user