{% set is_oob = oob if oob is defined else False %}
{% set pending_state = must_have_state if must_have_state is defined else None %} {% set pending_includes = pending_state.includes if pending_state and pending_state.includes is not none else [] %} {% set pending_excludes = pending_state.excludes if pending_state and pending_state.excludes is not none else [] %} {% set has_pending = (pending_includes|length > 0) or (pending_excludes|length > 0) %} {% if summary and summary.include_exclude_summary %} {% set ie_summary = summary.include_exclude_summary %} {% set has_data = (ie_summary.include_cards|length > 0) or (ie_summary.exclude_cards|length > 0) or (ie_summary.include_added|length > 0) or (ie_summary.excluded_removed|length > 0) %} {% if has_data %}
Include/Exclude Impact
{% if ie_summary.include_cards|length > 0 %}
✓ Must Include Cards ({{ ie_summary.include_cards|length }})
{% if ie_summary.include_added|length > 0 %}
✓ Successfully Included ({{ ie_summary.include_added|length }})
{% for card in ie_summary.include_added %} {{ card }} {% endfor %}
{% endif %} {% if ie_summary.missing_includes|length > 0 %}
⚠ Could Not Include ({{ ie_summary.missing_includes|length }})
{% for card in ie_summary.missing_includes %} {{ card }} {% endfor %}
{% endif %} {% if ie_summary.fuzzy_corrections %}
⚡ Fuzzy Matched
{% for original, corrected in ie_summary.fuzzy_corrections.items() %} {{ original }} → {{ corrected }} {% endfor %}
{% endif %}
{% endif %} {% if ie_summary.exclude_cards|length > 0 %}
✗ Must Exclude Cards ({{ ie_summary.exclude_cards|length }})
{% if ie_summary.excluded_removed|length > 0 %}
✓ Successfully Excluded ({{ ie_summary.excluded_removed|length }})
{% for card in ie_summary.excluded_removed %} {{ card }} {% endfor %}
{% endif %}
Exclude Patterns
{% for pattern in ie_summary.exclude_cards %} {{ pattern }} {% endfor %}
{% endif %} {% set has_issues = (ie_summary.illegal_dropped|length > 0) or (ie_summary.illegal_allowed|length > 0) or (ie_summary.ignored_color_identity|length > 0) or (ie_summary.duplicates_collapsed|length > 0) %} {% if has_issues %}
⚠ Validation Issues
{% if ie_summary.illegal_dropped|length > 0 %}
Illegal Cards Dropped ({{ ie_summary.illegal_dropped|length }})
{% for card in ie_summary.illegal_dropped %} {{ card }} {% endfor %}
{% endif %} {% if ie_summary.illegal_allowed|length > 0 %}
Illegal Cards Allowed ({{ ie_summary.illegal_allowed|length }})
{% for card in ie_summary.illegal_allowed %} {{ card }} {% endfor %}
{% endif %} {% if ie_summary.ignored_color_identity|length > 0 %}
Color Identity Mismatches ({{ ie_summary.ignored_color_identity|length }})
{% for card in ie_summary.ignored_color_identity %} {{ card }} {% endfor %}
{% endif %} {% if ie_summary.duplicates_collapsed|length > 0 %}
Duplicates Collapsed ({{ ie_summary.duplicates_collapsed|length }} groups)
{% for card, count in ie_summary.duplicates_collapsed.items() %} {{ card }} ({{ count }}x) {% endfor %}
{% endif %}
{% endif %}
{% endif %} {% elif has_pending %}
Must-Have Selections
These card lists will apply to the next build run.
✓ Must Include ({{ pending_includes|length }})
{% if pending_includes|length %}
{% for card in pending_includes %} {{ card }} {% endfor %}
{% else %}
No include cards selected.
{% endif %}
✗ Must Exclude ({{ pending_excludes|length }})
{% if pending_excludes|length %}
{% for card in pending_excludes %} {{ card }} {% endfor %}
{% else %}
No exclude cards selected.
{% endif %}
{% else %} {% if show_must_have_buttons %}
Must-Have Selections
Use the ✓/✗ toggles on each card to mark must-have preferences.
{% endif %} {% endif %}