{% extends "base.html" %} {% block title %}Sentinel — Evaluation{% endblock %} {% block content %}
Run Evaluation
{% if error %}
{{ error }}
{% endif %} {% if result %}
Precision
{{ '%.0f' % (result.precision * 100) }}%
Target: ≥ 70%
Recall
{{ '%.0f' % (result.recall * 100) }}%
Target: ≥ 90%
True Positives
{{ result.true_positives }}
Total Findings
{{ total_raw }}
Result {% if passed %} PASS {% else %} FAIL {% endif %}
{% if result.missing %}

Missing Expected Findings ({{ result.missing|length }})

{% for m in result.missing %}
{{ m.detector }} {{ m.title }} {% if m.file_path %} {{ m.file_path }} {% endif %}
{% endfor %} {% endif %} {% if result.unexpected_fps %}

Unexpected False Positives ({{ result.unexpected_fps|length }})

{% for fp in result.unexpected_fps %}
FP {{ fp }}
{% endfor %} {% endif %} {% if not result.missing and not result.unexpected_fps %}

All expected findings found. No unexpected false positives detected.

{% endif %}
{% endif %} {% endblock %}