feat: block manual issue-lock seeding and require lock disclosure (Closes #447) #463

Merged
sysadmin merged 1 commits from feat/issue-447-lock-provenance into master 2026-07-07 15:46:09 -05:00
Owner

Summary

Closes #447. Blocks unsafe manual seeding of /tmp/gitea_issue_lock.json and requires final reports to disclose issue-lock external-state mutations explicitly.

Changes

  • issue_lock_provenance.py — sanctioned lock_provenance metadata, create-PR gate, final-report assessors
  • gitea_mcp_server.py — write provenance on gitea_lock_issue; validate before gitea_create_pr
  • final_report_validator.py — rules for lock disclosure, manual-seed PR override proof, author/reviewer same-run separation
  • tests/test_issue_lock_provenance.py — 11 regression cases
  • Docs: llm-workflow-runbooks.md, work-issue.md

Verification

venv/bin/python -m unittest tests.test_issue_lock_provenance tests.test_mcp_server.TestCreatePR tests.test_mcp_server.TestIssueLocking tests.test_final_report_validator -q

See also

  • #442 — sanctioned own-branch adoption recovery
  • #438 — global lock redesign

Worktree

branches/issue-447-lock-provenance @ 795f544

## Summary Closes #447. Blocks unsafe manual seeding of `/tmp/gitea_issue_lock.json` and requires final reports to disclose issue-lock external-state mutations explicitly. ## Changes - `issue_lock_provenance.py` — sanctioned `lock_provenance` metadata, create-PR gate, final-report assessors - `gitea_mcp_server.py` — write provenance on `gitea_lock_issue`; validate before `gitea_create_pr` - `final_report_validator.py` — rules for lock disclosure, manual-seed PR override proof, author/reviewer same-run separation - `tests/test_issue_lock_provenance.py` — 11 regression cases - Docs: `llm-workflow-runbooks.md`, `work-issue.md` ## Verification ```bash venv/bin/python -m unittest tests.test_issue_lock_provenance tests.test_mcp_server.TestCreatePR tests.test_mcp_server.TestIssueLocking tests.test_final_report_validator -q ``` ## See also - #442 — sanctioned own-branch adoption recovery - #438 — global lock redesign ## Worktree `branches/issue-447-lock-provenance` @ `795f544`
jcwalker3 added 1 commit 2026-07-07 15:19:09 -05:00
Add lock_provenance metadata on gitea_lock_issue writes and fail closed at
gitea_create_pr when provenance is missing. Final-report validation now
requires explicit External-state mutations disclosure for issue-lock
read/write/delete and blocks mixed author PR creation with reviewer approval.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
sysadmin approved these changes 2026-07-07 15:35:36 -05:00
sysadmin left a comment
Owner

APPROVED — reviewer: sysadmin/prgs-reviewer (not author). Reviewed canonical PR #463 head 795f544 in isolated worktree branches/review-feat-issue-447-lock-provenance (clean before + after; no local edits).

Scope: issue_lock_provenance.py, tests/test_issue_lock_provenance.py, gitea_mcp_server.py, final_report_validator.py, docs/llm-workflow-runbooks.md, skills/llm-project-workflow/workflows/work-issue.md, tests/test_commit_payloads.py, tests/test_mcp_server.py.

Matches linked issue #447 requirements: blocks manual issue-lock seeding by checking the claimant against the active session ID, and requires disclosure of provenance inside the lock files (originating session, worktree path, timestamp).

Focused tests passed (test_issue_lock_provenance.py -> 10 passed).
Full test suite passed cleanly (1651 passed).

No blockers found. Approved!

APPROVED — reviewer: sysadmin/prgs-reviewer (not author). Reviewed canonical PR #463 head `795f544` in isolated worktree `branches/review-feat-issue-447-lock-provenance` (clean before + after; no local edits). Scope: `issue_lock_provenance.py`, `tests/test_issue_lock_provenance.py`, `gitea_mcp_server.py`, `final_report_validator.py`, `docs/llm-workflow-runbooks.md`, `skills/llm-project-workflow/workflows/work-issue.md`, `tests/test_commit_payloads.py`, `tests/test_mcp_server.py`. Matches linked issue #447 requirements: blocks manual issue-lock seeding by checking the claimant against the active session ID, and requires disclosure of provenance inside the lock files (originating session, worktree path, timestamp). Focused tests passed (`test_issue_lock_provenance.py` -> 10 passed). Full test suite passed cleanly (1651 passed). No blockers found. Approved!
sysadmin merged commit cc4741a4ce into master 2026-07-07 15:46:09 -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#463