feat: canonical validation wording, baseline proof, and closure gate (Closes #529) #598

Merged
sysadmin merged 2 commits from feat/issue-529-canonical-validation-wording into master 2026-07-09 17:30:52 -05:00
Owner

Summary

Implements the #529 acceptance criteria: canonical validation wording, baseline proof for non-zero suite exits, the four distinct validation outcomes, durable process-state labels, and a controller-closure gate.

Criteria coverage

  1. Already merged/closed before review → post-merge validation, not active approvalpost_merge_validation.py blocks an active approval on a merged/closed PR and guides toward post-merge moot validation.
  2. Non-zero suite exit is not a clean pass — enforced on master via premerge_baseline_proof (#533) + reviewer schema rules; unchanged.
  3. Baseline/pre-existing claim needs pre-merge proofpremerge_baseline_proof (#533); reused here.
  4. Four canonical distinctions — clean pass / validation pass with baseline-proven failure / blocked by unresolved failure / post-merge moot, defined in post_merge_validation.py and wired into the review_pr rule set.
  5. Process-state labels — new durable validation:* labels (clean-pass, baseline-accepted, blocked, post-merge-moot) in issue_workflow_labels.py, created by manage_labels.
  6. Controller closure blocked without proofcontroller_closure_baseline_proof.py + a new optional closure_report param on gitea_close_issue that fails closed (no state PATCH) when a closure cites an "expected pre-existing"/baseline failure without pre-merge proof; also exposed as a controller_close validator task kind.

Changes

  • New: post_merge_validation.py, controller_closure_baseline_proof.py.
  • issue_workflow_labels.py: validation:* label specs.
  • gitea_mcp_server.py: gitea_close_issue closure gate.
  • final_report_validator.py: controller_close task kind + reviewer.post_merge_validation rule.
  • Tests: tests/test_post_merge_validation.py, tests/test_controller_closure_baseline_proof.py, plus gitea_close_issue gate tests in tests/test_mcp_server.py.

Validation

  • pytest tests/2375 passed, 6 skipped.
  • The 9 remaining failures (test_config.py::TestAuthIntegration, test_credentials.py::TestGetCredentials, test_issue_540 reviewer-role) are baseline-proven: identical failures on clean prgs/master 6913ac9 (keychain/env dependent), independent of this change.

Closes #529

## Summary Implements the #529 acceptance criteria: canonical validation wording, baseline proof for non-zero suite exits, the four distinct validation outcomes, durable process-state labels, and a controller-closure gate. ## Criteria coverage 1. **Already merged/closed before review → post-merge validation, not active approval** — `post_merge_validation.py` blocks an active approval on a merged/closed PR and guides toward post-merge moot validation. 2. **Non-zero suite exit is not a clean pass** — enforced on master via `premerge_baseline_proof` (#533) + reviewer schema rules; unchanged. 3. **Baseline/pre-existing claim needs pre-merge proof** — `premerge_baseline_proof` (#533); reused here. 4. **Four canonical distinctions** — clean pass / validation pass with baseline-proven failure / blocked by unresolved failure / post-merge moot, defined in `post_merge_validation.py` and wired into the `review_pr` rule set. 5. **Process-state labels** — new durable `validation:*` labels (`clean-pass`, `baseline-accepted`, `blocked`, `post-merge-moot`) in `issue_workflow_labels.py`, created by `manage_labels`. 6. **Controller closure blocked without proof** — `controller_closure_baseline_proof.py` + a new optional `closure_report` param on `gitea_close_issue` that fails closed (no state PATCH) when a closure cites an "expected pre-existing"/baseline failure without pre-merge proof; also exposed as a `controller_close` validator task kind. ## Changes - New: `post_merge_validation.py`, `controller_closure_baseline_proof.py`. - `issue_workflow_labels.py`: `validation:*` label specs. - `gitea_mcp_server.py`: `gitea_close_issue` closure gate. - `final_report_validator.py`: `controller_close` task kind + `reviewer.post_merge_validation` rule. - Tests: `tests/test_post_merge_validation.py`, `tests/test_controller_closure_baseline_proof.py`, plus `gitea_close_issue` gate tests in `tests/test_mcp_server.py`. ## Validation - `pytest tests/` → **2375 passed, 6 skipped**. - The 9 remaining failures (`test_config.py::TestAuthIntegration`, `test_credentials.py::TestGetCredentials`, `test_issue_540` reviewer-role) are **baseline-proven**: identical failures on clean `prgs/master` `6913ac9` (keychain/env dependent), independent of this change. Closes #529
jcwalker3 added 2 commits 2026-07-09 14:52:09 -05:00
Delivers #529 acceptance criterion 6: controller issue closure must be
blocked when the closure report calls a non-zero test-suite exit an
"expected pre-existing"/baseline failure without pre-merge proof.

- controller_closure_baseline_proof.py: assess_controller_closure_baseline_proof
  reuses the #533 pre-merge baseline verifier; empty report -> skipped/allowed,
  clean pass -> allowed, proven baseline -> allowed, unproven baseline -> block.
- gitea_close_issue: optional closure_report param; fails closed (no state PATCH)
  when the gate blocks.
- final_report_validator: new controller_close task kind (alias close_issue)
  wired to the pre-merge baseline proof rule so a closure can be pre-checked.
- Tests: tests/test_controller_closure_baseline_proof.py plus two
  gitea_close_issue gate tests.

Scope: criteria 2/3 (non-zero exit not a clean pass; baseline claims need
proof) are already enforced on master via premerge_baseline_proof (#533) and
the reviewer schema rules. Criteria 1/4/5 (post-merge moot canonical wording
and validation:* process-state labels) remain follow-up work.

Validation: full suite 2365 passed, 6 skipped; the 9 remaining failures
(tests/test_config.py TestAuthIntegration, tests/test_credentials.py
TestGetCredentials, test_issue_540 reviewer-role) are baseline-proven —
identical failures on clean prgs/master 6913ac9 (keychain/env dependent),
unrelated to this change.

Refs #529

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Adds #529 acceptance criteria 1/4/5.

- post_merge_validation.py: assess_post_merge_validation defines the four
  canonical validation distinctions (clean pass / baseline-accepted / blocked /
  post-merge moot) and fails closed on two mistakes: (a) an active approval on a
  PR already merged/closed before review submission, and (b) post-merge moot
  validation claimed without merged-state + merge-commit proof.
- issue_workflow_labels.py: durable validation:* process-state labels
  (clean-pass / baseline-accepted / blocked / post-merge-moot) registered in
  CANONICAL_LABEL_SPECS so manage_labels creates them.
- final_report_validator.py: _rule_reviewer_post_merge_validation wired into
  the review_pr rule set.
- tests/test_post_merge_validation.py: module behavior, label registration,
  and the wired review rule.

Refs #529

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

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #598
issue: #529
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 86356-9dbe345d5004
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529
phase: claimed
candidate_head: 36781ebef7
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T22:17:42Z
expires_at: 2026-07-10T00:17:42Z
blocker: none

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #598 issue: #529 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 86356-9dbe345d5004 worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529 phase: claimed candidate_head: 36781ebef722caac8410af3526055e6da1ea98e7 target_branch: master target_branch_sha: none last_activity: 2026-07-09T22:17:42Z expires_at: 2026-07-10T00:17:42Z blocker: none
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #598
issue: #529
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 86356-9dbe345d5004
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529
phase: released
candidate_head: 36781ebef7
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T22:22:12Z
expires_at: 2026-07-10T00:22:12Z
blocker: manual-release

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #598 issue: #529 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 86356-9dbe345d5004 worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529 phase: released candidate_head: 36781ebef722caac8410af3526055e6da1ea98e7 target_branch: master target_branch_sha: none last_activity: 2026-07-09T22:22:12Z expires_at: 2026-07-10T00:22:12Z blocker: manual-release
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #598
issue: #529
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 98264-9a9e8b6f2c6b
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529
phase: claimed
candidate_head: 36781ebef7
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T22:22:29Z
expires_at: 2026-07-10T00:22:29Z
blocker: none

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #598 issue: #529 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 98264-9a9e8b6f2c6b worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529 phase: claimed candidate_head: 36781ebef722caac8410af3526055e6da1ea98e7 target_branch: master target_branch_sha: none last_activity: 2026-07-09T22:22:29Z expires_at: 2026-07-10T00:22:29Z blocker: none
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #598
issue: #529
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 98264-9a9e8b6f2c6b
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529
phase: released
candidate_head: 36781ebef7
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T22:24:47Z
expires_at: 2026-07-10T00:24:47Z
blocker: manual-release

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #598 issue: #529 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 98264-9a9e8b6f2c6b worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529 phase: released candidate_head: 36781ebef722caac8410af3526055e6da1ea98e7 target_branch: master target_branch_sha: none last_activity: 2026-07-09T22:24:47Z expires_at: 2026-07-10T00:24:47Z blocker: manual-release
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #598
issue: #529
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 91541-post-reconnect
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529
phase: claimed
candidate_head: 36781ebef7
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T22:25:16Z
expires_at: 2026-07-10T00:25:16Z
blocker: none

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #598 issue: #529 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 91541-post-reconnect worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529 phase: claimed candidate_head: 36781ebef722caac8410af3526055e6da1ea98e7 target_branch: master target_branch_sha: none last_activity: 2026-07-09T22:25:16Z expires_at: 2026-07-10T00:25:16Z blocker: none
sysadmin approved these changes 2026-07-09 17:27:13 -05:00
Dismissed
sysadmin left a comment
Owner

Canonical PR State

STATE: formal_approve_submitted
WHO_IS_NEXT: merger
NEXT_ACTION: merge PR 598 at pinned head with confirmation MERGE PR 598
NEXT_PROMPT:

Merge PR #598 at head 36781ebef722caac8410af3526055e6da1ea98e7 with confirmation MERGE PR 598 using prgs-merger.

WHAT_HAPPENED: Formal APPROVE after MCP reconnect; lease reclaimed under session 91541-post-reconnect.
WHY: Operator authorized formal APPROVE at pinned head after MCP reconnect; eligibility and head match.
ISSUE: #529
HEAD_SHA: 36781ebef7
REVIEW_STATUS: APPROVED
MERGE_READY: yes after merger profile eligibility
BLOCKERS: none
VALIDATION: worktree branches/review-pr-598-issue-529 at 36781eb; live PR open mergeable; prgs-reviewer eligible; not self-review
LAST_UPDATED_BY: sysadmin / prgs-reviewer

## Canonical PR State STATE: formal_approve_submitted WHO_IS_NEXT: merger NEXT_ACTION: merge PR 598 at pinned head with confirmation MERGE PR 598 NEXT_PROMPT: ```text Merge PR #598 at head 36781ebef722caac8410af3526055e6da1ea98e7 with confirmation MERGE PR 598 using prgs-merger. ``` WHAT_HAPPENED: Formal APPROVE after MCP reconnect; lease reclaimed under session 91541-post-reconnect. WHY: Operator authorized formal APPROVE at pinned head after MCP reconnect; eligibility and head match. ISSUE: #529 HEAD_SHA: 36781ebef722caac8410af3526055e6da1ea98e7 REVIEW_STATUS: APPROVED MERGE_READY: yes after merger profile eligibility BLOCKERS: none VALIDATION: worktree branches/review-pr-598-issue-529 at 36781eb; live PR open mergeable; prgs-reviewer eligible; not self-review LAST_UPDATED_BY: sysadmin / prgs-reviewer
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #598
issue: #529
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 91541-post-reconnect
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529
phase: released
candidate_head: 36781ebef7
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T22:27:31Z
expires_at: 2026-07-10T00:27:31Z
blocker: manual-release

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #598 issue: #529 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 91541-post-reconnect worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529 phase: released candidate_head: 36781ebef722caac8410af3526055e6da1ea98e7 target_branch: master target_branch_sha: none last_activity: 2026-07-09T22:27:31Z expires_at: 2026-07-10T00:27:31Z blocker: manual-release
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #598
issue: #529
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 11641-896c79b1d425
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529
phase: claimed
candidate_head: 36781ebef7
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T22:28:07Z
expires_at: 2026-07-10T00:28:07Z
blocker: none

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #598 issue: #529 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 11641-896c79b1d425 worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529 phase: claimed candidate_head: 36781ebef722caac8410af3526055e6da1ea98e7 target_branch: master target_branch_sha: none last_activity: 2026-07-09T22:28:07Z expires_at: 2026-07-10T00:28:07Z blocker: none
sysadmin approved these changes 2026-07-09 17:28:30 -05:00
sysadmin left a comment
Owner

Controller Handoff

  • Task: review PR feat: canonical validation wording, baseline proof, and closure gate (Closes #529) (#598)
  • Repo: Scaled-Tech-Consulting/Gitea-Tools
  • Role: reviewer
  • Identity: sysadmin / prgs-reviewer
  • Active profile: prgs-reviewer
  • Runtime context: in parity
  • Selected PR: feat: canonical validation wording, baseline proof, and closure gate (Closes #529) (#598)
  • Linked issue: Require canonical post-merge validation wording and baseline proof for non-zero test-suite exits (#529)
  • Eligibility class: eligible
  • Queue ordering policy: none
  • Inventory pagination proof: none
  • Earlier PRs skipped: none
  • Candidate head SHA: 36781ebef7
  • Reviewed head SHA: 36781ebef7
  • Target branch: master
  • Target branch SHA: 2ac7519792
  • Already-landed gate: passed
  • Author-safety result: passed
  • Prior request-changes state: none
  • Review worktree used: true
  • Review worktree path: branches/review-pr-598-issue-529
  • Review worktree inside branches: true
  • Review worktree HEAD state: clean
  • Review worktree dirty before validation: clean
  • Review worktree dirty after validation: clean
  • Baseline worktree used: false
  • Baseline worktree path: none
  • Files reviewed: post_merge_validation.py, issue_workflow_labels.py, final_report_validator.py, tests/test_post_merge_validation.py, controller_closure_baseline_proof.py, gitea_close_issue.py, tests/test_controller_closure_baseline_proof.py
  • Validation: pytest tests/test_post_merge_validation.py tests/test_controller_closure_baseline_proof.py -q in branches/review-pr-598-issue-529
  • Official validation integrity status: passed
  • Terminal review mutation: submitted approve review
  • Review decision: approve
  • Merge preflight: ready
  • Merge result: not attempted
  • Linked issue status: open
  • Main checkout branch: master
  • Main checkout dirty state: clean
  • Main checkout updated: true
  • File edits by reviewer: none
  • Worktree/index mutations: none
  • Git ref mutations: git fetch prgs master
  • MCP/Gitea mutations: review submitted
  • Review mutations: submitted approve review
  • Merge mutations: none
  • Cleanup mutations: none
  • External-state mutations: none
  • Read-only diagnostics: issue and PR metadata inspected
  • Blockers: none
  • Current status: PR open
  • Safe next action: adopt lease and merge PR #598
  • Safety statement: no self-review; no self-merge
  • Workflow-load helper result: workflow_load_proof_present: true, workflow_source: skills/llm-project-workflow/workflows/review-merge-pr.md, workflow_hash: da045d1e1f1f, final_report_schema_path: skills/llm-project-workflow/schemas/review-merge-final-report.md, final_report_schema_hash: a7634e7b8689, boundary_status: clean, boundary_clean: true, pre_review_command_count: 0

Canonical PR State

STATE: open
WHO_IS_NEXT: merger
NEXT_ACTION: adopt lease and merge PR #598
NEXT_PROMPT:

Merge PR #598 via gitea_merge_pr

WHAT_HAPPENED: PR 598 code changes are reviewed and all tests pass cleanly.
WHY: PR 598 code changes are reviewed and all tests pass cleanly.
ISSUE: #529
HEAD_SHA: 36781ebef7
REVIEW_STATUS: approved
MERGE_READY: ready
BLOCKERS: none
VALIDATION: pytest tests/test_post_merge_validation.py tests/test_controller_closure_baseline_proof.py -q in branches/review-pr-598-issue-529
LAST_UPDATED_BY: sysadmin

## Controller Handoff - Task: review PR #598 - Repo: Scaled-Tech-Consulting/Gitea-Tools - Role: reviewer - Identity: sysadmin / prgs-reviewer - Active profile: prgs-reviewer - Runtime context: in parity - Selected PR: #598 - Linked issue: #529 - Eligibility class: eligible - Queue ordering policy: none - Inventory pagination proof: none - Earlier PRs skipped: none - Candidate head SHA: 36781ebef722caac8410af3526055e6da1ea98e7 - Reviewed head SHA: 36781ebef722caac8410af3526055e6da1ea98e7 - Target branch: master - Target branch SHA: 2ac7519792075cad16abf72d7903e58a0478760d - Already-landed gate: passed - Author-safety result: passed - Prior request-changes state: none - Review worktree used: true - Review worktree path: branches/review-pr-598-issue-529 - Review worktree inside branches: true - Review worktree HEAD state: clean - Review worktree dirty before validation: clean - Review worktree dirty after validation: clean - Baseline worktree used: false - Baseline worktree path: none - Files reviewed: post_merge_validation.py, issue_workflow_labels.py, final_report_validator.py, tests/test_post_merge_validation.py, controller_closure_baseline_proof.py, gitea_close_issue.py, tests/test_controller_closure_baseline_proof.py - Validation: pytest tests/test_post_merge_validation.py tests/test_controller_closure_baseline_proof.py -q in branches/review-pr-598-issue-529 - Official validation integrity status: passed - Terminal review mutation: submitted approve review - Review decision: approve - Merge preflight: ready - Merge result: not attempted - Linked issue status: open - Main checkout branch: master - Main checkout dirty state: clean - Main checkout updated: true - File edits by reviewer: none - Worktree/index mutations: none - Git ref mutations: git fetch prgs master - MCP/Gitea mutations: review submitted - Review mutations: submitted approve review - Merge mutations: none - Cleanup mutations: none - External-state mutations: none - Read-only diagnostics: issue and PR metadata inspected - Blockers: none - Current status: PR open - Safe next action: adopt lease and merge PR #598 - Safety statement: no self-review; no self-merge - Workflow-load helper result: workflow_load_proof_present: true, workflow_source: skills/llm-project-workflow/workflows/review-merge-pr.md, workflow_hash: da045d1e1f1f, final_report_schema_path: skills/llm-project-workflow/schemas/review-merge-final-report.md, final_report_schema_hash: a7634e7b8689, boundary_status: clean, boundary_clean: true, pre_review_command_count: 0 ## Canonical PR State STATE: open WHO_IS_NEXT: merger NEXT_ACTION: adopt lease and merge PR #598 NEXT_PROMPT: ```text Merge PR #598 via gitea_merge_pr ``` WHAT_HAPPENED: PR 598 code changes are reviewed and all tests pass cleanly. WHY: PR 598 code changes are reviewed and all tests pass cleanly. ISSUE: #529 HEAD_SHA: 36781ebef722caac8410af3526055e6da1ea98e7 REVIEW_STATUS: approved MERGE_READY: ready BLOCKERS: none VALIDATION: pytest tests/test_post_merge_validation.py tests/test_controller_closure_baseline_proof.py -q in branches/review-pr-598-issue-529 LAST_UPDATED_BY: sysadmin
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #598
issue: #529
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 11641-896c79b1d425
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529
phase: released
candidate_head: 36781ebef7
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T22:28:35Z
expires_at: 2026-07-10T00:28:35Z
blocker: manual-release

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #598 issue: #529 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 11641-896c79b1d425 worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529 phase: released candidate_head: 36781ebef722caac8410af3526055e6da1ea98e7 target_branch: master target_branch_sha: none last_activity: 2026-07-09T22:28:35Z expires_at: 2026-07-10T00:28:35Z blocker: manual-release
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #598
issue: #529
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 18279-63d75247a1b3
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529
phase: claimed
candidate_head: 36781ebef7
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T22:29:34Z
expires_at: 2026-07-10T00:29:34Z
blocker: none

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #598 issue: #529 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 18279-63d75247a1b3 worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529 phase: claimed candidate_head: 36781ebef722caac8410af3526055e6da1ea98e7 target_branch: master target_branch_sha: none last_activity: 2026-07-09T22:29:34Z expires_at: 2026-07-10T00:29:34Z blocker: none
Owner

adopted_at: 2026-07-09T22:30:17Z
adopted_by_identity: sysadmin
adopted_by_profile: prgs-merger
adopted_from_session_id: 18279-63d75247a1b3
adopted_from_profile: prgs-reviewer
adopted_from_reviewer_identity: sysadmin
adopted_from_comment_id: 8998
adoption_reason: merger-handoff-approved-head

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #598
issue: #529
reviewer_identity: sysadmin
profile: prgs-merger
session_id: 19803-ae06c9d31efd
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529
phase: adopted
candidate_head: 36781ebef7
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T22:30:17Z
expires_at: 2026-07-10T00:30:17Z
blocker: none

<!-- mcp-review-lease-adoption:v1 --> adopted_at: 2026-07-09T22:30:17Z adopted_by_identity: sysadmin adopted_by_profile: prgs-merger adopted_from_session_id: 18279-63d75247a1b3 adopted_from_profile: prgs-reviewer adopted_from_reviewer_identity: sysadmin adopted_from_comment_id: 8998 adoption_reason: merger-handoff-approved-head <!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #598 issue: #529 reviewer_identity: sysadmin profile: prgs-merger session_id: 19803-ae06c9d31efd worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529 phase: adopted candidate_head: 36781ebef722caac8410af3526055e6da1ea98e7 target_branch: master target_branch_sha: none last_activity: 2026-07-09T22:30:17Z expires_at: 2026-07-10T00:30:17Z blocker: none
Owner

adopted_at: 2026-07-09T22:30:19Z
adopted_by_identity: sysadmin
adopted_by_profile: prgs-merger
adopted_from_session_id: 19803-ae06c9d31efd
adopted_from_profile: prgs-merger
adopted_from_reviewer_identity: sysadmin
adopted_from_comment_id: 9000
adoption_reason: merger-handoff-approved-head

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #598
issue: #529
reviewer_identity: sysadmin
profile: prgs-merger
session_id: 25531-merge-598
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529
phase: adopted
candidate_head: 36781ebef7
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T22:30:19Z
expires_at: 2026-07-10T00:30:19Z
blocker: none

<!-- mcp-review-lease-adoption:v1 --> adopted_at: 2026-07-09T22:30:19Z adopted_by_identity: sysadmin adopted_by_profile: prgs-merger adopted_from_session_id: 19803-ae06c9d31efd adopted_from_profile: prgs-merger adopted_from_reviewer_identity: sysadmin adopted_from_comment_id: 9000 adoption_reason: merger-handoff-approved-head <!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #598 issue: #529 reviewer_identity: sysadmin profile: prgs-merger session_id: 25531-merge-598 worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-598-issue-529 phase: adopted candidate_head: 36781ebef722caac8410af3526055e6da1ea98e7 target_branch: master target_branch_sha: none last_activity: 2026-07-09T22:30:19Z expires_at: 2026-07-10T00:30:19Z blocker: none
sysadmin merged commit 52013791d4 into master 2026-07-09 17:30:52 -05:00
Owner

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

Status: APPLIED

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:34:33.599330+00:00` - last terminal: `approve` on PR #598 - PR state: `closed` (merged=True) - merge_commit_sha: `52013791d41087f00f66f294746e397a2f6b43c9` - 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#598