{% extends "base.html" %} {% from "_macros.html" import state_chip, avatar, entity_link %} {% set active = "type:" ~ d.entity.entity_type %} {% block title %}{{ d.label }}{% endblock %} {% block topbar %} {{ icon(TYPE_ICONS.get(d.entity.entity_type, 'circle-dashed')) }} {{ type_title(d.entity.entity_type) }} /{{ d.label }} {% endblock %} {% block content %}
{{ avatar(d.label, "lg") }}

{{ d.label }}

{{ state_chip(d.entity.state) }}v{{ d.entity.version }}{{ d.entity.entity_id }}
{{ plural(d.member_count, 'observation') }}{% if d.redacted %}, {{ d.redacted }} redacted{% endif %} · as of ledger seq {{ d.as_of_seq }}
{% if d.lineage.redirected_from %}
{{ d.lineage.redirected_from }} was merged into this entity
{% endif %}
{% if d.contradictions %}
{{ icon("alert-triangle") }} {{ plural(d.contradictions|length, 'contradiction') }}
    {% for c in d.contradictions %}
  • {{ c.attribute }}{% if c.scheme %} ({{ c.scheme }}){% endif %}: {% for s in c.sides %}{{ s.value }} ×{{ s.observations|length }}{% if not loop.last %} vs {% endif %}{% endfor %}
  • {% endfor %}
{% endif %}
Fields
{% for a in d.attributes %} {% set shown = a.shown %}{% set others = a.values|length - (1 if shown else 0) %}
{{ icon(ATTRIBUTE_ICONS.get(a.attribute, 'circle-dashed'), 14) }} {{ a.attribute|replace('_', ' ') }} {{ fmt(a.canonical if a.canonical is not none else a.values[0].value) }} {{ shown.observations|length if shown else 0 }}/{{ a.observed }}{% if others > 0 %} · {{ others }} other{{ 's' if others > 1 }}{% endif %}
{% endfor %} {% if d.authorities %}
Authorities
{% for v in d.authorities %}
{{ icon("scale", 14) }} {{ v.source|upper }}{% if v.reference %} reference{% endif %} {% if not v.agrees %}{{ icon("alert-triangle", 14) }} {% endif %}{{ v.accepted }} {{ plural(v.observations|length, 'record') }}{% for s, n in v.statuses %} · {{ n }} {{ s }}{% endfor %}
{% endfor %} {% endif %} {% if d.lineage.merged_from or d.lineage.split_from or d.lineage.split_into %}
Lineage
{% for e, seq in d.lineage.merged_from %}
{{ icon("git-merge", 14) }} merged in{{ e }} seq {{ seq }}
{% endfor %} {% for e, seq in d.lineage.split_from %}
{{ icon("arrows-split", 14) }} split from{{ e }} seq {{ seq }}
{% endfor %} {% for e, seq in d.lineage.split_into %}
{{ icon("arrows-split", 14) }} split into{{ e }} seq {{ seq }}
{% endfor %} {% endif %} {% if d.open_reviews %}
Open reviews
{% for r in d.open_reviews %}
{{ icon("list-check", 14) }} {{ r.kind }}Review {{ plural(r.members|length, 'record') }}
{% endfor %} {% endif %}
{% include "entity_tab.html" %}
{% endblock %}