fix: enforce merger role boundaries (Closes #539) #596

Merged
sysadmin merged 1 commits from fix/issue-539-role-boundary-hard-stops into master 2026-07-09 17:07:55 -05:00
Owner

Summary

  • Routes merge_pr as a merger task instead of a reviewer task.
  • Makes gitea_resolve_task_capability role-aware for role-exclusive tasks, so exact permission alone cannot authorize reviewer/merger/author boundary crossings.
  • Resolves actual profile role from declared role/profile-name metadata before permission inference.

Linked issue

Closes #539

Files changed

  • gitea_mcp_server.py
  • role_session_router.py
  • tests/test_resolve_task_capability.py
  • tests/test_role_session_router.py

Validation

  • pytest tests/test_role_session_router.py tests/test_resolve_task_capability.py -q -> 45 passed
  • pytest tests/test_role_session_router.py tests/test_resolve_task_capability.py tests/test_role_namespace_gate.py tests/test_issue_540_comment_role_poison.py tests/test_native_mcp_preference.py tests/test_permission_reports.py tests/test_review_feedback.py tests/test_commit_files_capability.py -q -> 128 passed, 2 subtests passed
  • python3 -m py_compile role_session_router.py gitea_mcp_server.py tests/test_role_session_router.py tests/test_resolve_task_capability.py -> passed
  • git diff --check -> passed
  • pytest tests/test_mcp_server.py -q -> 1 failed, 205 passed; same failure reproduced on clean baseline worktree branches/baseline-master-issue-539 at 6913ac98f13edf47109c46cbfb573184f2505720 (TestMergePR.test_unknown_profile_blocks, tracked separately by #590 / PR #592)

Worktree

/Users/jasonwalker/Development/Gitea-Tools/branches/issue-539-role-boundary-hard-stops

Branch

fix/issue-539-role-boundary-hard-stops

Commit

2941ec529c1e9a27b46ea66723df4bd34d7f3c9f

Risk

Low to moderate. The resolver now denies role-exclusive tasks when profile role and task role disagree, but leaves comment/audit-style tasks permission-driven so existing reconciler/reviewer comment paths remain intact.

## Summary - Routes `merge_pr` as a merger task instead of a reviewer task. - Makes `gitea_resolve_task_capability` role-aware for role-exclusive tasks, so exact permission alone cannot authorize reviewer/merger/author boundary crossings. - Resolves actual profile role from declared role/profile-name metadata before permission inference. ## Linked issue Closes #539 ## Files changed - `gitea_mcp_server.py` - `role_session_router.py` - `tests/test_resolve_task_capability.py` - `tests/test_role_session_router.py` ## Validation - `pytest tests/test_role_session_router.py tests/test_resolve_task_capability.py -q` -> 45 passed - `pytest tests/test_role_session_router.py tests/test_resolve_task_capability.py tests/test_role_namespace_gate.py tests/test_issue_540_comment_role_poison.py tests/test_native_mcp_preference.py tests/test_permission_reports.py tests/test_review_feedback.py tests/test_commit_files_capability.py -q` -> 128 passed, 2 subtests passed - `python3 -m py_compile role_session_router.py gitea_mcp_server.py tests/test_role_session_router.py tests/test_resolve_task_capability.py` -> passed - `git diff --check` -> passed - `pytest tests/test_mcp_server.py -q` -> 1 failed, 205 passed; same failure reproduced on clean baseline worktree `branches/baseline-master-issue-539` at `6913ac98f13edf47109c46cbfb573184f2505720` (`TestMergePR.test_unknown_profile_blocks`, tracked separately by #590 / PR #592) ## Worktree `/Users/jasonwalker/Development/Gitea-Tools/branches/issue-539-role-boundary-hard-stops` ## Branch `fix/issue-539-role-boundary-hard-stops` ## Commit `2941ec529c1e9a27b46ea66723df4bd34d7f3c9f` ## Risk Low to moderate. The resolver now denies role-exclusive tasks when profile role and task role disagree, but leaves comment/audit-style tasks permission-driven so existing reconciler/reviewer comment paths remain intact.
jcwalker3 added 1 commit 2026-07-09 14:42:12 -05:00
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #596
issue: #539
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 7715-33d48134b2bd
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539
phase: claimed
candidate_head: 2941ec529c
target_branch: master
target_branch_sha: 7186718cfd
last_activity: 2026-07-09T21:35:09Z
expires_at: 2026-07-09T23:35:09Z
blocker: none

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #596 issue: #539 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 7715-33d48134b2bd worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539 phase: claimed candidate_head: 2941ec529c1e9a27b46ea66723df4bd34d7f3c9f target_branch: master target_branch_sha: 7186718cfd482179362b8e4aa3e180f2f97b0831 last_activity: 2026-07-09T21:35:09Z expires_at: 2026-07-09T23:35:09Z blocker: none
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #596
issue: #539
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 7715-33d48134b2bd
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539
phase: released
candidate_head: 2941ec529c
target_branch: master
target_branch_sha: 7186718cfd
last_activity: 2026-07-09T21:37:58Z
expires_at: 2026-07-09T23:37:58Z
blocker: manual-release

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #596 issue: #539 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 7715-33d48134b2bd worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539 phase: released candidate_head: 2941ec529c1e9a27b46ea66723df4bd34d7f3c9f target_branch: master target_branch_sha: 7186718cfd482179362b8e4aa3e180f2f97b0831 last_activity: 2026-07-09T21:37:58Z expires_at: 2026-07-09T23:37:58Z blocker: manual-release
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #596
issue: #539
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 13996-9d55ec453f78
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539
phase: claimed
candidate_head: 2941ec529c
target_branch: master
target_branch_sha: 7186718cfd
last_activity: 2026-07-09T21:39:06Z
expires_at: 2026-07-09T23:39:06Z
blocker: none

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #596 issue: #539 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 13996-9d55ec453f78 worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539 phase: claimed candidate_head: 2941ec529c1e9a27b46ea66723df4bd34d7f3c9f target_branch: master target_branch_sha: 7186718cfd482179362b8e4aa3e180f2f97b0831 last_activity: 2026-07-09T21:39:06Z expires_at: 2026-07-09T23:39:06Z blocker: none
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #596
issue: #539
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 13996-9d55ec453f78
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539
phase: validation_complete
candidate_head: 2941ec529c
target_branch: master
target_branch_sha: 7186718cfd
last_activity: 2026-07-09T21:41:31Z
expires_at: 2026-07-09T23:41:31Z
blocker: none

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #596 issue: #539 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 13996-9d55ec453f78 worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539 phase: validation_complete candidate_head: 2941ec529c1e9a27b46ea66723df4bd34d7f3c9f target_branch: master target_branch_sha: 7186718cfd482179362b8e4aa3e180f2f97b0831 last_activity: 2026-07-09T21:41:31Z expires_at: 2026-07-09T23:41:31Z blocker: none
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #596
issue: #539
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 13996-9d55ec453f78
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539
phase: released
candidate_head: 2941ec529c
target_branch: master
target_branch_sha: 7186718cfd
last_activity: 2026-07-09T21:46:45Z
expires_at: 2026-07-09T23:46:45Z
blocker: manual-release

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #596 issue: #539 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 13996-9d55ec453f78 worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539 phase: released candidate_head: 2941ec529c1e9a27b46ea66723df4bd34d7f3c9f target_branch: master target_branch_sha: 7186718cfd482179362b8e4aa3e180f2f97b0831 last_activity: 2026-07-09T21:46:45Z expires_at: 2026-07-09T23:46:45Z blocker: manual-release
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #596
issue: #539
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 26850-0c95ec3bd4dd
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539
phase: claimed
candidate_head: 2941ec529c
target_branch: master
target_branch_sha: 7186718cfd
last_activity: 2026-07-09T21:48:15Z
expires_at: 2026-07-09T23:48:15Z
blocker: none

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #596 issue: #539 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 26850-0c95ec3bd4dd worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539 phase: claimed candidate_head: 2941ec529c1e9a27b46ea66723df4bd34d7f3c9f target_branch: master target_branch_sha: 7186718cfd482179362b8e4aa3e180f2f97b0831 last_activity: 2026-07-09T21:48:15Z expires_at: 2026-07-09T23:48:15Z blocker: none
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #596
issue: #539
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 26850-0c95ec3bd4dd
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539
phase: released
candidate_head: 2941ec529c
target_branch: master
target_branch_sha: 7186718cfd
last_activity: 2026-07-09T21:51:24Z
expires_at: 2026-07-09T23:51:24Z
blocker: manual-release

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #596 issue: #539 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 26850-0c95ec3bd4dd worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539 phase: released candidate_head: 2941ec529c1e9a27b46ea66723df4bd34d7f3c9f target_branch: master target_branch_sha: 7186718cfd482179362b8e4aa3e180f2f97b0831 last_activity: 2026-07-09T21:51:24Z expires_at: 2026-07-09T23:51:24Z blocker: manual-release
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #596
issue: #539
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 39683-b4ddac021047
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539
phase: claimed
candidate_head: 2941ec529c
target_branch: master
target_branch_sha: 7186718cfd
last_activity: 2026-07-09T21:52:02Z
expires_at: 2026-07-09T23:52:02Z
blocker: none

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #596 issue: #539 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 39683-b4ddac021047 worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539 phase: claimed candidate_head: 2941ec529c1e9a27b46ea66723df4bd34d7f3c9f target_branch: master target_branch_sha: 7186718cfd482179362b8e4aa3e180f2f97b0831 last_activity: 2026-07-09T21:52:02Z expires_at: 2026-07-09T23:52:02Z blocker: none
sysadmin approved these changes 2026-07-09 16:53:37 -05:00
sysadmin left a comment
Owner

Canonical PR State

STATE: open / approved — merge not performed
WHO_IS_NEXT: merger
NEXT_ACTION: Merge PR #596 only with explicit operator confirmation MERGE PR 596 at expected_head_sha 2941ec529c.
NEXT_PROMPT:

Gitea merger task. Merge Scaled-Tech-Consulting/Gitea-Tools PR #596 only if operator authorizes.
expected_head_sha=2941ec529c1e9a27b46ea66723df4bd34d7f3c9f
remote=prgs org=Scaled-Tech-Consulting repo=Gitea-Tools
Adopt reviewer lease; confirm MERGE PR 596. Do not force-merge.

WHAT_HAPPENED: Formal independent review of PR #596 (Closes #539). Routes merge_pr as merger-only task; role-aware capability resolver blocks role-exclusive boundary crossings. Tests green; mergeable=true; scope limited to role routing + tests.
WHY: Correctly hardens reviewer/merger separation; baseline TestMergePR failure cited in PR body is resolved by landed #592.
ISSUE: #539 (PR #596)
HEAD_SHA: 2941ec529c
REVIEW_STATUS: APPROVED
MERGE_READY: yes
BLOCKERS: none except explicit operator merge confirmation
VALIDATION:

  • identity sysadmin/prgs-reviewer; author jcwalker3; self_author=false
  • mergeable=true; head 2941ec529c
  • pytest role_session_router + resolve_task_capability: 45 passed
  • expanded suite: 128 passed, 2 subtests passed
  • py_compile + git diff --check: clean
  • files: gitea_mcp_server.py, role_session_router.py, tests/test_resolve_task_capability.py, tests/test_role_session_router.py
    LAST_UPDATED_BY: prgs-reviewer (sysadmin)
## Canonical PR State STATE: open / approved — merge not performed WHO_IS_NEXT: merger NEXT_ACTION: Merge PR #596 only with explicit operator confirmation MERGE PR 596 at expected_head_sha 2941ec529c1e9a27b46ea66723df4bd34d7f3c9f. NEXT_PROMPT: ```text Gitea merger task. Merge Scaled-Tech-Consulting/Gitea-Tools PR #596 only if operator authorizes. expected_head_sha=2941ec529c1e9a27b46ea66723df4bd34d7f3c9f remote=prgs org=Scaled-Tech-Consulting repo=Gitea-Tools Adopt reviewer lease; confirm MERGE PR 596. Do not force-merge. ``` WHAT_HAPPENED: Formal independent review of PR #596 (Closes #539). Routes merge_pr as merger-only task; role-aware capability resolver blocks role-exclusive boundary crossings. Tests green; mergeable=true; scope limited to role routing + tests. WHY: Correctly hardens reviewer/merger separation; baseline TestMergePR failure cited in PR body is resolved by landed #592. ISSUE: #539 (PR #596) HEAD_SHA: 2941ec529c1e9a27b46ea66723df4bd34d7f3c9f REVIEW_STATUS: APPROVED MERGE_READY: yes BLOCKERS: none except explicit operator merge confirmation VALIDATION: - identity sysadmin/prgs-reviewer; author jcwalker3; self_author=false - mergeable=true; head 2941ec529c1e9a27b46ea66723df4bd34d7f3c9f - pytest role_session_router + resolve_task_capability: 45 passed - expanded suite: 128 passed, 2 subtests passed - py_compile + git diff --check: clean - files: gitea_mcp_server.py, role_session_router.py, tests/test_resolve_task_capability.py, tests/test_role_session_router.py LAST_UPDATED_BY: prgs-reviewer (sysadmin)
Owner

adopted_at: 2026-07-09T21:55:52Z
adopted_by_identity: sysadmin
adopted_by_profile: prgs-merger
adopted_from_session_id: 39683-b4ddac021047
adopted_from_profile: prgs-reviewer
adopted_from_reviewer_identity: sysadmin
adopted_from_comment_id: 8937
adoption_reason: merger-handoff-approved-head

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #596
issue: #539
reviewer_identity: sysadmin
profile: prgs-merger
session_id: 39682-f4f1904f45d6
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539
phase: adopted
candidate_head: 2941ec529c
target_branch: master
target_branch_sha: 7186718cfd
last_activity: 2026-07-09T21:55:52Z
expires_at: 2026-07-09T23:55:52Z
blocker: none

<!-- mcp-review-lease-adoption:v1 --> adopted_at: 2026-07-09T21:55:52Z adopted_by_identity: sysadmin adopted_by_profile: prgs-merger adopted_from_session_id: 39683-b4ddac021047 adopted_from_profile: prgs-reviewer adopted_from_reviewer_identity: sysadmin adopted_from_comment_id: 8937 adoption_reason: merger-handoff-approved-head <!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #596 issue: #539 reviewer_identity: sysadmin profile: prgs-merger session_id: 39682-f4f1904f45d6 worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539 phase: adopted candidate_head: 2941ec529c1e9a27b46ea66723df4bd34d7f3c9f target_branch: master target_branch_sha: 7186718cfd482179362b8e4aa3e180f2f97b0831 last_activity: 2026-07-09T21:55:52Z expires_at: 2026-07-09T23:55:52Z blocker: none
Owner

adopted_at: 2026-07-09T21:59:53Z
adopted_by_identity: sysadmin
adopted_by_profile: prgs-merger
adopted_from_session_id: 39682-f4f1904f45d6
adopted_from_profile: prgs-merger
adopted_from_reviewer_identity: sysadmin
adopted_from_comment_id: 8942
adoption_reason: merger-handoff-approved-head

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #596
issue: #539
reviewer_identity: sysadmin
profile: prgs-merger
session_id: 48782-9e4bdb436bbe
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539
phase: adopted
candidate_head: 2941ec529c
target_branch: master
target_branch_sha: 7186718cfd
last_activity: 2026-07-09T21:59:53Z
expires_at: 2026-07-09T23:59:53Z
blocker: none

<!-- mcp-review-lease-adoption:v1 --> adopted_at: 2026-07-09T21:59:53Z adopted_by_identity: sysadmin adopted_by_profile: prgs-merger adopted_from_session_id: 39682-f4f1904f45d6 adopted_from_profile: prgs-merger adopted_from_reviewer_identity: sysadmin adopted_from_comment_id: 8942 adoption_reason: merger-handoff-approved-head <!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #596 issue: #539 reviewer_identity: sysadmin profile: prgs-merger session_id: 48782-9e4bdb436bbe worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539 phase: adopted candidate_head: 2941ec529c1e9a27b46ea66723df4bd34d7f3c9f target_branch: master target_branch_sha: 7186718cfd482179362b8e4aa3e180f2f97b0831 last_activity: 2026-07-09T21:59:53Z expires_at: 2026-07-09T23:59:53Z blocker: none
Owner

adopted_at: 2026-07-09T22:03:22Z
adopted_by_identity: sysadmin
adopted_by_profile: prgs-merger
adopted_from_session_id: 48782-9e4bdb436bbe
adopted_from_profile: prgs-merger
adopted_from_reviewer_identity: sysadmin
adopted_from_comment_id: 8944
adoption_reason: merger-handoff-approved-head

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #596
issue: #539
reviewer_identity: sysadmin
profile: prgs-merger
session_id: 50748-ace5240bf1e8
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539
phase: adopted
candidate_head: 2941ec529c
target_branch: master
target_branch_sha: 7186718cfd
last_activity: 2026-07-09T22:03:22Z
expires_at: 2026-07-10T00:03:22Z
blocker: none

<!-- mcp-review-lease-adoption:v1 --> adopted_at: 2026-07-09T22:03:22Z adopted_by_identity: sysadmin adopted_by_profile: prgs-merger adopted_from_session_id: 48782-9e4bdb436bbe adopted_from_profile: prgs-merger adopted_from_reviewer_identity: sysadmin adopted_from_comment_id: 8944 adoption_reason: merger-handoff-approved-head <!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #596 issue: #539 reviewer_identity: sysadmin profile: prgs-merger session_id: 50748-ace5240bf1e8 worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539 phase: adopted candidate_head: 2941ec529c1e9a27b46ea66723df4bd34d7f3c9f target_branch: master target_branch_sha: 7186718cfd482179362b8e4aa3e180f2f97b0831 last_activity: 2026-07-09T22:03:22Z expires_at: 2026-07-10T00:03:22Z blocker: none
Owner

adopted_at: 2026-07-09T22:07:36Z
adopted_by_identity: sysadmin
adopted_by_profile: prgs-merger
adopted_from_session_id: 50748-ace5240bf1e8
adopted_from_profile: prgs-merger
adopted_from_reviewer_identity: sysadmin
adopted_from_comment_id: 8946
adoption_reason: merger-handoff-approved-head

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #596
issue: #539
reviewer_identity: sysadmin
profile: prgs-merger
session_id: 58456-1c2ff230451c
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539
phase: adopted
candidate_head: 2941ec529c
target_branch: master
target_branch_sha: 7186718cfd
last_activity: 2026-07-09T22:07:36Z
expires_at: 2026-07-10T00:07:36Z
blocker: none

<!-- mcp-review-lease-adoption:v1 --> adopted_at: 2026-07-09T22:07:36Z adopted_by_identity: sysadmin adopted_by_profile: prgs-merger adopted_from_session_id: 50748-ace5240bf1e8 adopted_from_profile: prgs-merger adopted_from_reviewer_identity: sysadmin adopted_from_comment_id: 8946 adoption_reason: merger-handoff-approved-head <!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #596 issue: #539 reviewer_identity: sysadmin profile: prgs-merger session_id: 58456-1c2ff230451c worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-596-issue-539 phase: adopted candidate_head: 2941ec529c1e9a27b46ea66723df4bd34d7f3c9f target_branch: master target_branch_sha: 7186718cfd482179362b8e4aa3e180f2f97b0831 last_activity: 2026-07-09T22:07:36Z expires_at: 2026-07-10T00:07:36Z blocker: none
sysadmin merged commit 2ac7519792 into master 2026-07-09 17:07:55 -05:00
Owner

Stale #332 review-decision lock cleanup (#594)

Status: APPLIED

  • actor: sysadmin
  • profile: prgs-reviewer
  • timestamp: 2026-07-09T22:12:44.483201+00:00
  • last terminal: approve on PR fix: enforce merger role boundaries (Closes #539) (#596)
  • PR state: closed (merged=True)
  • merge_commit_sha: 2ac7519792075cad16abf72d7903e58a0478760d
  • prior live_mutations_count: 1
  • prior profile_identity: prgs-reviewer

Manual deletion of session-state files is not the workflow.
This path only clears a lock when the referenced PR is merged/closed.

## Stale #332 review-decision lock cleanup (#594) Status: **APPLIED** - actor: `sysadmin` - profile: `prgs-reviewer` - timestamp: `2026-07-09T22:12:44.483201+00:00` - last terminal: `approve` on PR #596 - PR state: `closed` (merged=True) - merge_commit_sha: `2ac7519792075cad16abf72d7903e58a0478760d` - prior live_mutations_count: `1` - prior profile_identity: `prgs-reviewer` Manual deletion of session-state files is **not** the workflow. This path only clears a lock when the referenced PR is merged/closed.
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#596