{# The label list — full-page include and htmx post-decision refresh target. #} {% macro hint_state_pill(hint) %} {% if hint.state.value == "accepted" %}accepted {% elif hint.state.value == "rejected" %}rejected {% elif hint.state.value == "superseded" %}superseded {% endif %} {% endmacro %} {# Review-priority + explainable breakdown (issue #42). Raw facts, never a "% confidence": priority is an attention-ordering signal, not a probability. #} {% macro triage_badge(hint) %} {% set t = name_triage.get(hint.candidate.id) %} {% if t %} 1 %} · {{ t.components.peer_producer_count|int }} producers agree{% endif %}">priority {{ "%.2f"|format(t.priority) }} {% if t.components.voice_conflict %}voice conflict{% endif %} {% if t.unresolved_peers %}+{{ t.unresolved_peers }} more proposed{% endif %} {% endif %} {% endmacro %} {% macro hint_decision_forms(hint) %} {% if token and hint.state.value == "proposed" %}
{% endif %} {% endmacro %} {# Name suggestions (issue #38): read/heard names are drafts about identity, never identity — accepting records the review, it assigns nothing. #} {% if names_enabled %}Names probably in this recording, mined from its metadata and transcript. Accepting records your review — it does not assign a speaker.
No name suggestions found in this recording's metadata or transcript.
{% else %}No name sweep has run yet.
{% endif %} {% if token %} {% endif %}Diarization sometimes splits one person across labels. Tick the labels that are the same speaker in this recording, choose who they are, then preview the exact change before applying.
{{ s.turn_count }} turns, {{ "%.0f"|format(s.total_seconds) }}s. {# Plain-language voice match (issue #117). "Strong" is conditional on the grounded flag: an ungrounded candidate must never claim strong evidence. #} {% if s.cosine_speaker_name %} {% if s.cosine_grounded %}Strong voice match: {{ s.cosine_speaker_name }}. {% else %}Possible voice match: {{ s.cosine_speaker_name }}.{% endif %} {% endif %} {% if s.llm_hint_name %} Heard name (unverified): “{{ s.llm_hint_name }}”. {% endif %}
{% if s.cosine_speaker_name %} {# The raw similarity and the grounded flag are evidence, not the headline: tuck them behind a closed disclosure so the card leads with the plain match (issue #117). Rendered as a sibling block — above. Only shown when cosine evidence exists. #}
Voice similarity {{ "%.2f"|format(s.cosine_confidence or 0) }} to
{{ s.cosine_speaker_name }}{% if s.cosine_grounded %}, strong enough to trust on its own{% else %}, not strong enough to confirm without your check{% endif %}.
Why this match?
{% endif %} {% if names_enabled and name_hints_labels.get(s.label) %}
This run has no diarization labels.
{% endfor %}