From 8a19ecd7cc791be8adb5268b5b0893ec1a613375 Mon Sep 17 00:00:00 2001 From: clawdbot Date: Mon, 12 Oct 2026 23:07:35 +0000 Subject: [PATCH] fix: use PermissionMode.covers() instead of comparison operators The PermissionMode enum intentionally does not implement PartialOrd to prevent silent re-ranking of the privilege ladder. Use the explicit covers() method for privilege comparisons instead of < and >=. --- rust/crates/rusty-claude-cli/src/main.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rust/crates/rusty-claude-cli/src/main.rs b/rust/crates/rusty-claude-cli/src/main.rs index b5281392..c9ecd22d 100644 --- a/rust/crates/rusty-claude-cli/src/main.rs +++ b/rust/crates/rusty-claude-cli/src/main.rs @@ -4234,12 +4234,12 @@ fn check_permission_health(permission_mode: PermissionModeProvenance) -> Diagnos let specs = mvp_tool_specs(); let tools_satisfied = specs .iter() - .filter(|spec| permission_mode.mode >= spec.required_permission) + .filter(|spec| permission_mode.mode.covers(spec.required_permission)) .map(|spec| spec.name) .collect::>(); let tools_gated = specs .iter() - .filter(|spec| permission_mode.mode < spec.required_permission) + .filter(|spec| !permission_mode.mode.covers(spec.required_permission)) .map(|spec| spec.name) .collect::>();