feat(guard): native MCP transport binding and contaminated-review quarantine (Closes #695)
Bind mutation/credential paths to a process-local native MCP runtime so env spoofing, direct imports, and offline helpers cannot reconstruct session gates after native transport failure. Quarantine contaminated formal reviews under controller authority and honor quarantine in review feedback, merge eligibility, merge mutation, and canonical handoff validation. Add regression coverage for the second (PR #694 / review 427) incident class.
This commit is contained in:
@@ -206,7 +206,20 @@ class TestEligibilityNormalizesOperations(unittest.TestCase):
|
||||
def test_namespaced_profile_ops_allow_legacy_action(self, _auth, mock_api):
|
||||
# JSON-config profiles carry canonical namespaced ops; the raw action
|
||||
# "merge" must still match them after normalization.
|
||||
mock_api.side_effect = [{"login": "merger-bot"}, self._pr("author-bot")]
|
||||
# #695: merge eligibility also loads quarantine-aware review feedback.
|
||||
mock_api.side_effect = [
|
||||
{"login": "merger-bot"},
|
||||
self._pr("author-bot"),
|
||||
self._pr("author-bot"),
|
||||
[{
|
||||
"id": 1,
|
||||
"user": {"login": "reviewer-bot"},
|
||||
"state": "APPROVED",
|
||||
"commit_id": "abc123",
|
||||
"submitted_at": "2026-07-06T10:00:00Z",
|
||||
"dismissed": False,
|
||||
}],
|
||||
]
|
||||
env = {"GITEA_PROFILE_NAME": "gitea-merger",
|
||||
"GITEA_ALLOWED_OPERATIONS": "gitea.read,gitea.pr.merge"}
|
||||
with patch.dict(os.environ, env, clear=True):
|
||||
|
||||
Reference in New Issue
Block a user