{# Filter chip bar for the findings pane. Self-refreshes on the `verdict-changed` event (emitted as an HX-Trigger response header by POST /verdicts and /verdicts/undo) so the per-filter counts stay live after an inline verdict without re-fetching the whole list. Each chip is a real (keyboard focusable, degrades without JS); the active one carries aria-current. (Not a tablist — there is no tabpanel/arrow contract.) #}
{% for key, label in [ ('all', 'All'), ('open', 'Open'), ('confirmed', 'Confirmed'), ('false_positive', 'FP'), ('dismissed', 'Dismissed')] %} {{ label }} ({{ counts[key] }}) {% endfor %}