# Family Tree Audit Report
**Root Person:** [{{ root_person.display_name }}]({{ root_person.person_id|person_url }})
**Generations:** {{ generations }}
**Generated:** {{ generated_at }}
---
## Executive Summary
- **Critical Issues:** {{ critical_count }}
- **Warnings:** {{ warning_count }}
- **Source Research Priorities:** {{ source_priorities|length }}
- **Potential Duplicates:** {{ duplicates|length }}
---
## Critical Issues
{% if timeline_issues|selectattr('severity', 'equalto', 'critical')|list or relationship_issues|selectattr('severity', 'equalto', 'critical')|list %}
### Timeline Issues
{% for issue in timeline_issues %}
{% if issue.severity == 'critical' %}
**{{ issue.type }}**
- Person: [{{ issue.person_name }}]({{ issue.person_id|person_url }})
- Description: {{ issue.description }}
{% endif %}
{% endfor %}
### Relationship Issues
{% for issue in relationship_issues %}
{% if issue.severity == 'critical' %}
**{{ issue.type }}**
- Description: {{ issue.description }}
{% if issue.person_id %}
- Person: [{{ issue.person_id }}]({{ issue.person_id|person_url }})
{% endif %}
{% endif %}
{% endfor %}
{% else %}
No critical issues detected.
{% endif %}
---
## Warnings
{% if timeline_issues|selectattr('severity', 'equalto', 'warning')|list or relationship_issues|selectattr('severity', 'equalto', 'warning')|list %}
### Timeline Warnings
{% for issue in timeline_issues %}
{% if issue.severity == 'warning' %}
- **{{ issue.type }}**: {{ issue.description }} ([{{ issue.person_name }}]({{ issue.person_id|person_url }}))
{% endif %}
{% endfor %}
### Relationship Warnings
{% for issue in relationship_issues %}
{% if issue.severity == 'warning' %}
- **{{ issue.type }}**: {{ issue.description }}
{% endif %}
{% endfor %}
{% else %}
No warnings.
{% endif %}
---
## Source Research Priorities
Top persons needing source research:
| Priority | Person | Gen | Missing Events | Current Sources |
|----------|--------|-----|----------------|-----------------|
{% for item in source_priorities[:20] %}
| {{ item.priority_score }} | [{{ item.person_name }}]({{ item.person_id|person_url }}) | {{ item.generation }} | {{ item.missing_events|join(', ') }} | {{ item.total_sources }} |
{% endfor %}
---
## Potential Duplicates
{% if duplicates %}
| Person 1 | Person 2 | Similarity |
|----------|----------|------------|
{% for dup in duplicates[:15] %}
| [{{ dup.person1_name }}]({{ dup.person1_id|person_url }}) | [{{ dup.person2_name }}]({{ dup.person2_id|person_url }}) | {{ (dup.similarity_score * 100)|round(1) }}% |
{% endfor %}
{% else %}
No likely duplicates found.
{% endif %}
---
*Generated by tree-analyzer-mcp*