Reviewer reports must include exact conflict proof for skipped non-mergeable PRs #322

Closed
opened 2026-07-07 01:30:27 -05:00 by jcwalker3 · 1 comment
Owner

Reviewer workflows may skip earlier PRs because they are non-mergeable, but the final report does not always include the exact conflict proof.

Observed behavior:

A reviewer workflow skipped PR #282 and PR #284 because they were mergeable: false and described unresolved merge conflicts. The transcript included merge-tree diagnostics, but the final report did not include the exact conflict output or file-level proof.

Required behavior:

  1. When skipping a PR because it is non-mergeable, fetch live PR state.

  2. Report:

    • PR number
    • current head SHA
    • mergeability result
    • command/tool used to prove conflict
    • conflicting files, if available
    • whether the PR head changed since any prior blocker
  3. If conflict proof cannot be retrieved, classify the PR as MERGEABILITY_UNVERIFIED instead of skipping silently.

Acceptance criteria:

  • Non-mergeable skips include file-level or tool-level conflict proof.
  • Reports fail validation if they skip a non-mergeable PR without proof.
  • Tests cover mergeable PR, non-mergeable PR with files, non-mergeable PR without file details, stale head, and missing conflict proof.
Reviewer workflows may skip earlier PRs because they are non-mergeable, but the final report does not always include the exact conflict proof. Observed behavior: A reviewer workflow skipped PR #282 and PR #284 because they were `mergeable: false` and described unresolved merge conflicts. The transcript included merge-tree diagnostics, but the final report did not include the exact conflict output or file-level proof. Required behavior: 1. When skipping a PR because it is non-mergeable, fetch live PR state. 2. Report: * PR number * current head SHA * mergeability result * command/tool used to prove conflict * conflicting files, if available * whether the PR head changed since any prior blocker 3. If conflict proof cannot be retrieved, classify the PR as `MERGEABILITY_UNVERIFIED` instead of skipping silently. Acceptance criteria: * Non-mergeable skips include file-level or tool-level conflict proof. * Reports fail validation if they skip a non-mergeable PR without proof. * Tests cover mergeable PR, non-mergeable PR with files, non-mergeable PR without file details, stale head, and missing conflict proof.
jcwalker3 added the status:in-progress label 2026-07-07 04:08:19 -05:00
Author
Owner

PR opened with non-mergeable skip conflict-proof verifier.

  • Entry point: assess_non_mergeable_skip_proof(report_text, skipped_prs=[...])
  • Blocks silent skips; requires conflict proof or MERGEABILITY_UNVERIFIED

Verification: pytest tests/test_reviewer_mergeability_skip.py tests/test_review_proofs.py -q — 159 passed

PR opened with non-mergeable skip conflict-proof verifier. - Entry point: `assess_non_mergeable_skip_proof(report_text, skipped_prs=[...])` - Blocks silent skips; requires conflict proof or `MERGEABILITY_UNVERIFIED` Verification: `pytest tests/test_reviewer_mergeability_skip.py tests/test_review_proofs.py -q` — 159 passed
sysadmin removed the status:in-progress label 2026-07-07 04:17:11 -05:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Scaled-Tech-Consulting/Gitea-Tools#322