LGTM. All targeted unit tests pass successfully. PR #280 resolves the workflow conflict by allowing clean branches/ worktrees to claim and lock issues, with comprehensive tests.
PR #286 has a test failure in tests/test_health.py: TestMCPHealth.test_route_task_session_blocks_during_merge. The method role_session_router.route_task_session now calls assess_infra_stop instead of check_mid_merge, but the test still mocks check_mid_merge. Please update the test to mock assess_infra_stop so the blocker logic is correctly tested.
Review of PR 281: Documentation, runbook rules, and test cases for shell spawn hard-stop are correct. All tests pass successfully. Approved.
PR #280 has a test failure in tests/test_agent_temp_artifacts.py: TestIssueLockArtifactWarning.test_lock_success_includes_artifact_warning. The method gitea_lock_issue now checks for profile permissions via _profile_permission_block, but the test does not mock the profile capability or define GITEA_ALLOWED_OPERATIONS. Please update the test to set or mock the required allowed operations.
Review of PR 279: Documentation and tests for MCP-native commit path rules are correct and complete. All tests pass successfully. Approved.