feat: reject contradictory reviewer handoff ledgers (Closes #501) #506

Merged
sysadmin merged 4 commits from feat/issue-501-reviewer-handoff-consistency into master 2026-07-09 07:52:43 -05:00
Owner

Summary

Closes #501.

Adds fail-closed validation that rejects reviewer handoffs when narrative claims contradict the mutation ledger — e.g. claiming a merge or terminal-budget consumption without ledger proof, claiming review blocked while final decision was marked, or omitting blocked-mutation proof fields.

Changes

  • reviewer_handoff_consistency.py — narrative vs ledger contradiction detection + blocked-review template
  • final_report_validator.pyreviewer.handoff_consistency rule on review_pr reports
  • docs/reviewer-handoff-consistency.md — workflow guidance
  • skills/llm-project-workflow/templates/blocked-review-handoff.md — paste-ready corrected handoff
  • tests/test_reviewer_handoff_consistency.py — acceptance criteria coverage

Validation

/Users/jasonwalker/Development/Gitea-Tools/venv/bin/python -m pytest tests/test_reviewer_handoff_consistency.py tests/test_mutation_ledger_report.py tests/test_final_report_validator.py -q
# 47 passed, 3 subtests passed

Worktree

/Users/jasonwalker/Development/Gitea-Tools/branches/issue-501-reviewer-handoff-consistency @ 429facc

LLM Handoff Metadata

  • LLM-Agent-SHA: llm-429facc
  • LLM-Role: implementer
  • Authenticated-Gitea-User: jcwalker3
  • MCP-Profile: prgs-author
  • Branch: feat/issue-501-reviewer-handoff-consistency
  • Self-review allowed: no
## Summary Closes #501. Adds fail-closed validation that rejects reviewer handoffs when narrative claims contradict the mutation ledger — e.g. claiming a merge or terminal-budget consumption without ledger proof, claiming review blocked while final decision was marked, or omitting blocked-mutation proof fields. ## Changes - `reviewer_handoff_consistency.py` — narrative vs ledger contradiction detection + blocked-review template - `final_report_validator.py` — `reviewer.handoff_consistency` rule on `review_pr` reports - `docs/reviewer-handoff-consistency.md` — workflow guidance - `skills/llm-project-workflow/templates/blocked-review-handoff.md` — paste-ready corrected handoff - `tests/test_reviewer_handoff_consistency.py` — acceptance criteria coverage ## Validation ```bash /Users/jasonwalker/Development/Gitea-Tools/venv/bin/python -m pytest tests/test_reviewer_handoff_consistency.py tests/test_mutation_ledger_report.py tests/test_final_report_validator.py -q # 47 passed, 3 subtests passed ``` ## Worktree `/Users/jasonwalker/Development/Gitea-Tools/branches/issue-501-reviewer-handoff-consistency` @ `429facc` ## LLM Handoff Metadata - LLM-Agent-SHA: llm-429facc - LLM-Role: implementer - Authenticated-Gitea-User: jcwalker3 - MCP-Profile: prgs-author - Branch: feat/issue-501-reviewer-handoff-consistency - Self-review allowed: no
jcwalker3 added 1 commit 2026-07-08 02:33:45 -05:00
Add reviewer_handoff_consistency validation for narrative vs mutation
ledger contradictions, wire it into review_pr final-report rules, and
document the blocked-review handoff template.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
jcwalker3 added 1 commit 2026-07-08 10:10:20 -05:00
Merge prgs/master into feat/issue-501-reviewer-handoff-consistency and preserve PR intent
alongside compatible master guardrails.
Author
Owner

pr: #506
branch: feat/issue-501-reviewer-handoff-consistency
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/issue-501-reviewer-handoff-consistency
profile: prgs-author
session_id: unknown
phase: claimed
head_before: c0b1f562a9
expires_at: 2026-07-09T04:31:08Z
reviewer_active: no

<!-- mcp-conflict-fix-lease:v1 --> pr: #506 branch: feat/issue-501-reviewer-handoff-consistency worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/issue-501-reviewer-handoff-consistency profile: prgs-author session_id: unknown phase: claimed head_before: c0b1f562a97365df8501924252af31d15510aefd expires_at: 2026-07-09T04:31:08Z reviewer_active: no
jcwalker3 added 1 commit 2026-07-08 21:32:24 -05:00
Merge prgs/master into PR branch to restore mergeability.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
jcwalker3 added 1 commit 2026-07-08 21:33:32 -05:00
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #506
issue: #501
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 43128-4b78fe715472
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr506
phase: claimed
candidate_head: 7ba469f292
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T03:22:38Z
expires_at: 2026-07-09T05:22:38Z
blocker: none

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #506 issue: #501 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 43128-4b78fe715472 worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr506 phase: claimed candidate_head: 7ba469f2929a2f7af1e98a8eb2edd93480949fa7 target_branch: master target_branch_sha: none last_activity: 2026-07-09T03:22:38Z expires_at: 2026-07-09T05:22:38Z blocker: none
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #506
issue: #501
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 1415-d369d4a57f80
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/issue-501-reviewer-handoff-consistency
phase: claimed
candidate_head: 7ba469f292
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T12:51:37Z
expires_at: 2026-07-09T14:51:37Z
blocker: none

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #506 issue: #501 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 1415-d369d4a57f80 worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/issue-501-reviewer-handoff-consistency phase: claimed candidate_head: 7ba469f2929a2f7af1e98a8eb2edd93480949fa7 target_branch: master target_branch_sha: none last_activity: 2026-07-09T12:51:37Z expires_at: 2026-07-09T14:51:37Z blocker: none
sysadmin approved these changes 2026-07-09 07:51:58 -05:00
sysadmin left a comment
Owner

APPROVE PR #506 (Closes #501)

Head: 7ba469f2929a2f7af1e98a8eb2edd93480949fa7
Reviewer: sysadmin / prgs-reviewer
Author: jcwalker3 (not self-review)

Scope (6 files)

  • reviewer_handoff_consistency.py narrative vs mutation-ledger contradiction detection
  • Final-report rule reviewer.handoff_consistency on review_pr
  • Docs + blocked-review handoff template
  • Tests covering acceptance criteria

Validation

pytest tests/test_reviewer_handoff_consistency.py tests/test_mutation_ledger_report.py tests/test_final_report_validator.py -q
# 53 passed, 3 subtests passed

APPROVE — mergeable; ready for prgs-merger.

## APPROVE PR #506 (Closes #501) **Head:** `7ba469f2929a2f7af1e98a8eb2edd93480949fa7` **Reviewer:** sysadmin / prgs-reviewer **Author:** jcwalker3 (not self-review) ### Scope (6 files) - `reviewer_handoff_consistency.py` narrative vs mutation-ledger contradiction detection - Final-report rule `reviewer.handoff_consistency` on review_pr - Docs + blocked-review handoff template - Tests covering acceptance criteria ### Validation ``` pytest tests/test_reviewer_handoff_consistency.py tests/test_mutation_ledger_report.py tests/test_final_report_validator.py -q # 53 passed, 3 subtests passed ``` **APPROVE** — mergeable; ready for prgs-merger.
Owner

adopted_at: 2026-07-09T12:52:28Z
adopted_by_identity: sysadmin
adopted_by_profile: prgs-merger
adopted_from_session_id: 1415-d369d4a57f80
adopted_from_profile: prgs-reviewer
adopted_from_reviewer_identity: sysadmin
adopted_from_comment_id: 7892
adoption_reason: merger-handoff-approved-head

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #506
issue: #501
reviewer_identity: sysadmin
profile: prgs-merger
session_id: 2781-4253ca7186e5
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/issue-501-reviewer-handoff-consistency
phase: adopted
candidate_head: 7ba469f292
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T12:52:28Z
expires_at: 2026-07-09T14:52:28Z
blocker: none

<!-- mcp-review-lease-adoption:v1 --> adopted_at: 2026-07-09T12:52:28Z adopted_by_identity: sysadmin adopted_by_profile: prgs-merger adopted_from_session_id: 1415-d369d4a57f80 adopted_from_profile: prgs-reviewer adopted_from_reviewer_identity: sysadmin adopted_from_comment_id: 7892 adoption_reason: merger-handoff-approved-head <!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #506 issue: #501 reviewer_identity: sysadmin profile: prgs-merger session_id: 2781-4253ca7186e5 worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/issue-501-reviewer-handoff-consistency phase: adopted candidate_head: 7ba469f2929a2f7af1e98a8eb2edd93480949fa7 target_branch: master target_branch_sha: none last_activity: 2026-07-09T12:52:28Z expires_at: 2026-07-09T14:52:28Z blocker: none
sysadmin merged commit eac2b0f6f2 into master 2026-07-09 07:52: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#506