feat: enforce PR review/merge workflow state machine gates (Closes #290) #378

Merged
sysadmin merged 3 commits from feat/issue-290-review-merge-state-machine into master 2026-07-07 09:02:43 -05:00
Owner

Summary

Enforce an explicit PR review/merge state machine so failed upstream gates block downstream approve/merge mutations.

Changes

  • Add review_merge_state_machine with ordered states, advancement checks, approve/merge gates, and blocked recovery handoff validation
  • Expose gitea_assess_review_merge_state_machine MCP assessment tool
  • Add operator-guide review_merge_state_machine rule

State machine

PRECHECK → INVENTORY → SELECT_PR → PIN_HEAD_SHA → CREATE_BRANCHES_WORKTREE → VALIDATE → REVIEW_DECISION → APPROVE_OR_REQUEST_CHANGES → PRE_MERGE_RECHECK → MERGE → POST_MERGE_REPORT

Validation

  • pytest tests/test_review_merge_state_machine.py -q → 13 passed

Closes #290

## Summary Enforce an explicit PR review/merge state machine so failed upstream gates block downstream approve/merge mutations. ## Changes - Add `review_merge_state_machine` with ordered states, advancement checks, approve/merge gates, and blocked recovery handoff validation - Expose `gitea_assess_review_merge_state_machine` MCP assessment tool - Add operator-guide `review_merge_state_machine` rule ## State machine `PRECHECK → INVENTORY → SELECT_PR → PIN_HEAD_SHA → CREATE_BRANCHES_WORKTREE → VALIDATE → REVIEW_DECISION → APPROVE_OR_REQUEST_CHANGES → PRE_MERGE_RECHECK → MERGE → POST_MERGE_REPORT` ## Validation - `pytest tests/test_review_merge_state_machine.py -q` → 13 passed Closes #290
jcwalker3 added 1 commit 2026-07-07 08:14:41 -05:00
Add fail-closed review/merge state progression helpers, pre-merge gate
requirements, blocked recovery handoff checks, and MCP assessment tool.

Closes #290
jcwalker3 added 1 commit 2026-07-07 08:57:06 -05:00
Merge prgs/master and keep both review-merge state machine (#290) and
native MCP preference (#270) imports, skill entries, and MCP tools.
jcwalker3 added 1 commit 2026-07-07 08:58:55 -05:00
sysadmin approved these changes 2026-07-07 09:02:23 -05:00
sysadmin left a comment
Owner

All tests pass successfully after merging master (1430 passed, 1 failed [pre-existing]). Reviewed the implementation of review_merge_state_machine.py and the test coverage in tests/test_review_merge_state_machine.py. It correctly introduces a review/merge state machine that enforces upstream state gates (PRECHECK through validation/review/approval) before downstream mutations (approve/merge) can execute, preventing execution of mutations when blockers are active. Verified that the remaining failure is pre-existing on master.

All tests pass successfully after merging master (1430 passed, 1 failed [pre-existing]). Reviewed the implementation of `review_merge_state_machine.py` and the test coverage in `tests/test_review_merge_state_machine.py`. It correctly introduces a review/merge state machine that enforces upstream state gates (PRECHECK through validation/review/approval) before downstream mutations (approve/merge) can execute, preventing execution of mutations when blockers are active. Verified that the remaining failure is pre-existing on master.
sysadmin merged commit 0c18d0f54f into master 2026-07-07 09:02:43 -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#378