{% extends "base.html" %} {% block title %}Compare Traces - Memorizz{% endblock %} {% block content %}
{% for key, value in selection_urls.params.items() %}{% if key not in ['agent_id', 'thread_id'] %}{% endif %}{% endfor %}

{% if comparison %}

Evidence coverage

Baseline: {{ comparison.baseline.headline }} ({{ comparison.baseline.normalized_events }} events; {{ comparison.baseline.bundle_count if comparison.baseline.bundle_count is not none else 'unknown' }} bundles). Candidate: {{ comparison.candidate.headline }} ({{ comparison.candidate.normalized_events }} events; {{ comparison.candidate.bundle_count if comparison.candidate.bundle_count is not none else 'unknown' }} bundles).

Root-local source totals use recorded event provenance. Deduplication and normalization diagnostics may describe the parent query, not an individual root.

{{ comparison.warning }}

Diagnostic differences

Only in baseline: {{ comparison.findings.only_in_baseline|join(', ') or 'None observed' }}

Only in candidate: {{ comparison.findings.only_in_candidate|join(', ') or 'None observed' }}

In both: {{ comparison.findings.in_both|join(', ') or 'None observed' }}

{% for category, change in comparison.changes.items() %}
{{ category|title }} · {{ change.removed|length }} removed structures · {{ change.added|length }} added structures {% for entry in change.removed %}{% endfor %} {% for entry in change.added %}{% endfor %}
SideCountCaptured structure (content-free)
Baseline only{{ entry.count }}
{{ entry.value|tojson(indent=2) }}
Candidate only{{ entry.count }}
{{ entry.value|tojson(indent=2) }}
{% endfor %} {% endif %} {% endblock %}