Reviewer approval must require baseline proof when full test suite fails #323

Closed
opened 2026-07-07 01:49:09 -05:00 by jcwalker3 · 1 comment
Owner

A reviewer workflow approved and merged PR #280 even though the full test suite failed with 23 failures and 7 errors. The report stated the failure signature was identical to master, but the baseline comparison was run in the main checkout and did not provide full failure-signature proof.

Problem

Approving a PR when the full suite fails is high risk unless the workflow proves the failures are pre-existing and unrelated.

Required behavior

  1. If full suite fails on the PR worktree, default action is REQUEST_CHANGES.
  2. Approval may proceed only if a project policy allows baseline comparison and all proof gates pass.
  3. Baseline proof must be collected in a clean baseline worktree under branches/, not the main checkout.
  4. Report must include:
    • PR full-suite command/result
    • baseline full-suite command/result
    • exact baseline SHA
    • exact PR SHA
    • matching failure list
    • proof new/changed tests passed
    • explanation why failures are unrelated to PR
  5. If failure signatures differ or proof is incomplete, request changes.

Acceptance criteria

  • Full-suite failure blocks approval by default.
  • Approval with full-suite failure requires baseline worktree proof.
  • Main checkout baseline testing is rejected.
  • Final-report validator rejects vague "same as master" claims.
  • Tests cover matching baseline failures, mismatched failures, incomplete proof, and full-suite pass.
A reviewer workflow approved and merged PR #280 even though the full test suite failed with 23 failures and 7 errors. The report stated the failure signature was identical to master, but the baseline comparison was run in the main checkout and did not provide full failure-signature proof. ## Problem Approving a PR when the full suite fails is high risk unless the workflow proves the failures are pre-existing and unrelated. ## Required behavior 1. If full suite fails on the PR worktree, default action is `REQUEST_CHANGES`. 2. Approval may proceed only if a project policy allows baseline comparison and all proof gates pass. 3. Baseline proof must be collected in a clean baseline worktree under `branches/`, not the main checkout. 4. Report must include: - PR full-suite command/result - baseline full-suite command/result - exact baseline SHA - exact PR SHA - matching failure list - proof new/changed tests passed - explanation why failures are unrelated to PR 5. If failure signatures differ or proof is incomplete, request changes. ## Acceptance criteria - [ ] Full-suite failure blocks approval by default. - [ ] Approval with full-suite failure requires baseline worktree proof. - [ ] Main checkout baseline testing is rejected. - [ ] Final-report validator rejects vague "same as master" claims. - [ ] Tests cover matching baseline failures, mismatched failures, incomplete proof, and full-suite pass.
jcwalker3 added the status:in-progress label 2026-07-07 04:19:38 -05:00
Author
Owner

Implementation PR opened: #361 (branch feat/issue-323-full-suite-approval-gate, head 5fa5760).

New assess_full_suite_failure_approval_gate blocks approval fail-closed when the full suite fails, unless the #325 baseline proof passes plus PR/baseline suite commands, new-test evidence, and a pre-existing-failure explanation are provided. Default action on failure is REQUEST_CHANGES. 12 new tests. Awaiting reviewer.

Implementation PR opened: #361 (branch `feat/issue-323-full-suite-approval-gate`, head 5fa5760). New `assess_full_suite_failure_approval_gate` blocks approval fail-closed when the full suite fails, unless the #325 baseline proof passes plus PR/baseline suite commands, new-test evidence, and a pre-existing-failure explanation are provided. Default action on failure is REQUEST_CHANGES. 12 new tests. Awaiting reviewer.
sysadmin removed the status:in-progress label 2026-07-07 08:09:16 -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#323