fix: resolve conflicts for PR #376
Merge prgs/master; keep reconcile-inventory pagination verifier (#308) alongside linked-issue live-proof gates from master (#300).
This commit is contained in:
@@ -1715,6 +1715,11 @@ def build_final_report(checkout_proof, inventory, validation, contamination,
|
||||
if report_text and _RECONCILE_INVENTORY_HINT.search(report_text)
|
||||
else {"proven": True, "block": False, "reasons": []}
|
||||
)
|
||||
reconcile_linked_issue = (
|
||||
assess_reconcile_linked_issue_report(report_text)
|
||||
if report_text and _RECONCILE_LINKED_ISSUE_HINT.search(report_text)
|
||||
else {"proven": True, "block": False, "reasons": []}
|
||||
)
|
||||
already_landed_handoff = (
|
||||
assess_already_landed_handoff_report(report_text)
|
||||
if report_text
|
||||
@@ -1891,6 +1896,11 @@ def build_final_report(checkout_proof, inventory, validation, contamination,
|
||||
"reconciliation PR inventory lacks pagination proof (#308)"
|
||||
)
|
||||
downgrade_reasons.extend(reconcile_inventory.get("reasons", []))
|
||||
if not reconcile_linked_issue.get("proven"):
|
||||
downgrade_reasons.append(
|
||||
"reconciliation linked issue status lacks live fetch proof (#300)"
|
||||
)
|
||||
downgrade_reasons.extend(reconcile_linked_issue.get("reasons", []))
|
||||
if not pr_queue_cleanup_report.get("proven"):
|
||||
downgrade_reasons.append(
|
||||
"PR-only cleanup report violates cleanup-mode proof gates (#390)"
|
||||
@@ -2003,6 +2013,10 @@ def build_final_report(checkout_proof, inventory, validation, contamination,
|
||||
"reconcile_inventory_violations": list(
|
||||
reconcile_inventory.get("reasons") or []
|
||||
),
|
||||
"reconcile_linked_issue_proven": bool(reconcile_linked_issue.get("proven")),
|
||||
"reconcile_linked_issue_violations": list(
|
||||
reconcile_linked_issue.get("reasons") or []
|
||||
),
|
||||
"pr_queue_cleanup_report_proven": bool(
|
||||
pr_queue_cleanup_report.get("proven")
|
||||
),
|
||||
@@ -4907,6 +4921,11 @@ _RECONCILE_INVENTORY_HINT = re.compile(
|
||||
re.I,
|
||||
)
|
||||
|
||||
_RECONCILE_LINKED_ISSUE_HINT = re.compile(
|
||||
r"already[- ]landed|reconcil|linked issue(?:\s+live)?\s+status",
|
||||
re.I,
|
||||
)
|
||||
|
||||
_PR_QUEUE_CLEANUP_REPORT_HINT = re.compile(
|
||||
r"workflows/pr-queue-cleanup\.md|task:\s*pr-queue-cleanup|"
|
||||
r"pr[- ]only queue cleanup",
|
||||
@@ -4920,6 +4939,7 @@ def assess_pr_queue_cleanup_report(report_text: str | None) -> dict:
|
||||
|
||||
return _assess(report_text or "")
|
||||
|
||||
|
||||
_GATE_PASSED_VALUE = re.compile(r"\bpassed\b", re.I)
|
||||
|
||||
_NOT_APPLICABLE_VALUE = re.compile(
|
||||
@@ -5341,6 +5361,13 @@ def assess_reconcile_inventory_report(report_text, **kwargs):
|
||||
return _assess(report_text, **kwargs)
|
||||
|
||||
|
||||
def assess_reconcile_linked_issue_report(report_text, **kwargs):
|
||||
"""#300: prove linked issue status was fetched live in reconciliation handoffs."""
|
||||
from reviewer_reconcile_linked_issue import assess_reconcile_linked_issue_report as _assess
|
||||
|
||||
return _assess(report_text, **kwargs)
|
||||
|
||||
|
||||
def assess_already_landed_handoff_report(report_text, **kwargs):
|
||||
"""#299: reject stale fields after the already-landed gate fires."""
|
||||
from reviewer_already_landed_handoff import assess_already_landed_handoff_report as _assess
|
||||
|
||||
Reference in New Issue
Block a user