48
48
def filter_results_for_read_only (result : GuardRuleSetResult ) -> GuardRuleSetResult :
49
49
"""Filter execution results to only include read-only checks.
50
50
51
+ Only filters non_compliant and warning results by check ID since compliant
52
+ and skipped results don't contain check IDs (just rule names).
53
+
51
54
Args:
52
55
result: The full execution result
53
56
54
57
Returns:
55
58
Filtered result containing only read-only checks
56
59
"""
57
- filtered_compliant = []
58
60
filtered_non_compliant = {}
59
61
filtered_warning = {}
60
- filtered_skipped = []
61
-
62
- # Filter compliant rules (we don't have check IDs, so keep all)
63
- filtered_compliant = result .compliant
64
62
65
63
# Filter non-compliant results by check ID
66
64
for rule_name , rule_results in result .non_compliant .items ():
@@ -78,14 +76,13 @@ def filter_results_for_read_only(result: GuardRuleSetResult) -> GuardRuleSetResu
78
76
if filtered_rule_results :
79
77
filtered_warning [rule_name ] = filtered_rule_results
80
78
81
- # Keep skipped rules (we don't have check IDs, so keep all)
82
- filtered_skipped = result .skipped
83
-
79
+ # Keep all compliant and skipped rules since they don't have check IDs
80
+ # and don't represent failures that would block read-only resources
84
81
return GuardRuleSetResult (
85
- compliant = filtered_compliant ,
82
+ compliant = result . compliant ,
86
83
non_compliant = filtered_non_compliant ,
87
84
warning = filtered_warning ,
88
- skipped = filtered_skipped ,
85
+ skipped = result . skipped ,
89
86
schema_difference = result .schema_difference ,
90
87
)
91
88
0 commit comments