fix(kanban): honor severity thresholds in diagnostics
Salvages #26431 by @LeonSGP43. Dashboard plugin_api list_diagnostics was using exact-match (severity == filter), so '--severity warning' hid 'error' and 'critical' diagnostics. Adds severity_at_or_above() helper to kanban_diagnostics and uses it in the dashboard endpoint (CLI already used SEVERITY_ORDER comparison correctly).
This commit is contained in:
@@ -41,6 +41,15 @@ import time
|
||||
SEVERITY_ORDER = ("warning", "error", "critical")
|
||||
|
||||
|
||||
def severity_at_or_above(severity: Optional[str], threshold: Optional[str]) -> bool:
|
||||
"""Return True when ``severity`` meets or exceeds ``threshold``."""
|
||||
if threshold is None:
|
||||
return True
|
||||
if severity not in SEVERITY_ORDER or threshold not in SEVERITY_ORDER:
|
||||
return False
|
||||
return SEVERITY_ORDER.index(severity) >= SEVERITY_ORDER.index(threshold)
|
||||
|
||||
|
||||
@dataclass
|
||||
class DiagnosticAction:
|
||||
"""A single recovery action attached to a diagnostic.
|
||||
|
||||
Reference in New Issue
Block a user