feat: require conflict proof for skipped non-mergeable PRs (Closes #322) #353

Merged
sysadmin merged 1 commits from feat/issue-322-mergeability-skip-proof into master 2026-07-07 04:17:09 -05:00
Owner

Summary

Adds assess_non_mergeable_skip_proof so reviewer final reports cannot silently skip non-mergeable PRs without live conflict proof (#322).

Changes

  • New reviewer_mergeability_skip.py validates per-PR skip documentation: head SHA, mergeability result, conflict proof command/tool, conflicting files (when known), and head-change status
  • Requires MERGEABILITY_UNVERIFIED classification when conflict proof cannot be retrieved
  • Re-export from review_proofs.py
  • 9 tests covering documented skips, missing proof, unverified classification, and stale-head cases

Verification

pytest tests/test_reviewer_mergeability_skip.py tests/test_review_proofs.py -q

159 passed

Closes #322

## Summary Adds `assess_non_mergeable_skip_proof` so reviewer final reports cannot silently skip non-mergeable PRs without live conflict proof (#322). ## Changes - New `reviewer_mergeability_skip.py` validates per-PR skip documentation: head SHA, mergeability result, conflict proof command/tool, conflicting files (when known), and head-change status - Requires `MERGEABILITY_UNVERIFIED` classification when conflict proof cannot be retrieved - Re-export from `review_proofs.py` - 9 tests covering documented skips, missing proof, unverified classification, and stale-head cases ## Verification ``` pytest tests/test_reviewer_mergeability_skip.py tests/test_review_proofs.py -q ``` 159 passed Closes #322
jcwalker3 added 1 commit 2026-07-07 04:09:04 -05:00
Add assess_non_mergeable_skip_proof to validate reviewer reports document
head SHA, mergeability result, conflict proof command, conflicting files,
and head-change status for each skipped non-mergeable PR, or classify
MERGEABILITY_UNVERIFIED when proof cannot be retrieved.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Author
Owner

Ready for review.

  • reviewer_mergeability_skip.py + assess_non_mergeable_skip_proof export
  • 9 new tests; pytest tests/test_reviewer_mergeability_skip.py tests/test_review_proofs.py -q — 159 passed
Ready for review. - `reviewer_mergeability_skip.py` + `assess_non_mergeable_skip_proof` export - 9 new tests; `pytest tests/test_reviewer_mergeability_skip.py tests/test_review_proofs.py -q` — 159 passed
sysadmin approved these changes 2026-07-07 04:16:58 -05:00
sysadmin left a comment
Owner

All tests pass successfully. Reviewed the implementation in reviewer_mergeability_skip.py and test coverage in tests/test_reviewer_mergeability_skip.py. It correctly enforces that skipped non-mergeable PRs must have live conflict proof (including head SHA, mergeability result, conflict proof command/tool, conflicting files, and head-change status) documented in the final report, failing validation with MERGEABILITY_UNVERIFIED otherwise. Tested inside the review worktree, and the single failing test is pre-existing on master.

All tests pass successfully. Reviewed the implementation in reviewer_mergeability_skip.py and test coverage in tests/test_reviewer_mergeability_skip.py. It correctly enforces that skipped non-mergeable PRs must have live conflict proof (including head SHA, mergeability result, conflict proof command/tool, conflicting files, and head-change status) documented in the final report, failing validation with MERGEABILITY_UNVERIFIED otherwise. Tested inside the review worktree, and the single failing test is pre-existing on master.
sysadmin merged commit deb228d629 into master 2026-07-07 04:17:09 -05:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

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