{{ project_name }}

Coverage report — {{ summary.file_count }} file{{ '' if summary.file_count == 1 else 's' }} {% if generated_at %}· generated {{ generated_at }}{% endif %}
{% from "_legend.html" import legend %} {{ legend(tier_order, tier_labels, tier_colors, state_colors) }}

Summary

{% for tier in tier_order %} {% endfor %}
Tier Lines (hit / total) Line % Branches (hit / total) Branch %
All tiers {{ summary.lines_hit }} / {{ summary.lines_total }} {{ "%.1f"|format(summary.pct_total) }}% {{ summary.branches_hit }} / {{ summary.branches_total }} {{ "%.1f"|format(summary.branch_pct_total) }}%
{{ tier_labels[tier] }} {{ summary.per_tier[tier].lines_hit }} / {{ summary.per_tier[tier].lines_total }} {{ "%.1f"|format(summary.per_tier[tier].line_pct) }}% {{ summary.per_tier[tier].branches_hit }} / {{ summary.per_tier[tier].branches_total }} {{ "%.1f"|format(summary.per_tier[tier].branch_pct) }}%
{% if provenance %}

Captures

{% for cap in provenance %} {% endfor %}
Tier Board Labs Date Tester Ticket Note Remap
{{ cap.tier }} {{ cap.board }} {{ cap.labs|join(', ') }} {{ cap.date }} {{ cap.tester.name if cap.tester else '' }} {{ cap.ticket or '' }} {{ cap.note or '' }} {% if cap.dirty_remap %}✎{% endif %}
{% endif %}

Files

{% for tier in tier_order %} {% endfor %} {% for f in files %} {% for tier in tier_order %} {% endfor %} {% endfor %}
File Lines Line %{{ tier_labels[tier] }} %Branch % Stale Aging Excluded
{{ f.display_path }} {{ f.line_count }} {{ "%.1f"|format(f.pct_total) }}%{{ "%.1f"|format(f.per_tier[tier].line_pct) }}%{{ "%.1f"|format(f.branch_pct_total) }}% {{ f.stale_count }} {{ f.aging_count }} {{ f.excluded_count }}