{% extends "base.html" %} {% block title %}DIB Supply Chain — Strategos{% endblock %} {% block head %} {% endblock %} {% block content %}

Defense Industrial Base — Supply Chain

Factory → Depot → Logistics → Unit · PRODUCES and DEPENDS_ON_SUPPLY graph · Critical-path targeting priority

Critical-Path Targeting Priority Ranked by blast_radius ↓
{% for node in critical_path %} {% set side_cls = 'side-ukr' if node.side == 'ukraine' else ('side-rus' if node.side == 'russia' else ('side-nato' if node.side == 'nato_partner' else 'side-iran')) %} {% set br_pct = (node.blast_radius * 100)|round(0)|int %} {% set br_color = '#e74c3c' if node.blast_radius >= 0.85 else ('#f39c12' if node.blast_radius >= 0.70 else '#27ae60') %} {% endfor %}
RankNodeSideTypeCountry Blast RadiusCriticalitySystems
#{{ node.rank }} {{ node.node_name }} {% if node.notes %}
{{ node.notes[:80] }}{% if node.notes|length > 80 %}…{% endif %}
{% endif %}
{{ node.side.replace('_', ' ').title() }} {{ node.node_type.replace('_',' ') }} {{ node.country or '—' }} {{ '%.2f'|format(node.blast_radius) }} {{ node.criticality }} {% if node.systems_produced %} {{ node.systems_produced[:3]|join(', ') }}{% if node.systems_produced|length > 3 %}…{% endif %} {% else %}—{% endif %}

Map Legend

Ukraine (factory/depot)
NATO partner
Russia (factory/depot)
Iran (Shahed)
Logistics node
Unit

PRODUCES edge
DEPENDS_ON_SUPPLY

Marker size ∝ blast_radius

Node Counts

{% set sides = {'ukraine': 0, 'russia': 0, 'nato_partner': 0, 'iran': 0} %} {% for n in nodes %} {% if n.side == 'ukraine' %}{% set _ = sides.update({'ukraine': sides.ukraine + 1}) %}{% endif %} {% if n.side == 'russia' %}{% set _ = sides.update({'russia': sides.russia + 1}) %}{% endif %} {% if n.side == 'nato_partner' %}{% set _ = sides.update({'nato_partner': sides.nato_partner + 1}) %}{% endif %} {% if n.side == 'iran' %}{% set _ = sides.update({'iran': sides.iran + 1}) %}{% endif %} {% endfor %}
Ukraine{{ nodes|selectattr('side','eq','ukraine')|list|length }}
NATO{{ nodes|selectattr('side','eq','nato_partner')|list|length }}
Russia{{ nodes|selectattr('side','eq','russia')|list|length }}
Iran{{ nodes|selectattr('side','eq','iran')|list|length }}
Edges{{ edges|length }}
{% endblock %} {% block scripts %} {% endblock %}