{
 "conflict": "ukraine-russia",
 "title": "Ukraine–Russia",
 "short": "UKRAINE–RUSSIA",
 "site": "https://ukraine-russia-claim-map-2026.pages.dev",
 "reportDate": "2026-10-23",
 "window": {
  "start": "2026-10-17T00:00:00Z",
  "end": "2026-10-23T23:59:59Z"
 },
 "generatedAt": "2026-10-23T19:20:34Z",
 "dataCutoff": "2026-10-23T13:55:00Z",
 "label": "UNVERIFIED / CLAIMED — INFO/SA ONLY",
 "totalsLabel": "CLAIMED TOTAL, UNVERIFIED",
 "counts": {
  "claims": 482,
  "bySide": {
   "Russia": 296,
   "Ukraine": 150,
   "Other": 35,
   "Unknown": 1
  },
  "byType": {
   "strike": 251,
   "movement": 111,
   "other": 57,
   "air_defense": 29,
   "unit_sighting": 25,
   "naval": 5,
   "civilian_vessel": 4
  },
  "byStatus": {
   "official_statement": 297,
   "not_verified": 136,
   "corroborated": 45,
   "contradicted": 4
  },
  "sources": 443,
  "topLocations": [
   [
    "Dobropillia, Donetsk obl. (EST)",
    11
   ],
   [
    "Ukraine-wide (EST — plotted Kyiv)",
    9
   ],
   [
    "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
    5
   ],
   [
    "Omelnyk, Zaporizhzhia obl. (EST)",
    4
   ],
   [
    "Kharkiv (EST)",
    3
   ],
   [
    "Dnipro (EST)",
    3
   ]
  ]
 },
 "bluf": [
  "482 open-source claim records were logged on this map between 17 Oct and 23 Oct 2026 (UTC), citing 443 distinct source links. All are UNVERIFIED / CLAIMED. Map side tags: Russia 296, Ukraine 150, Other 35, Unknown 1.",
  "Most-reported locations: Dobropillia, Donetsk obl. (EST) (11); Ukraine-wide (EST — plotted Kyiv) (9); Front-wide (EST — plotted Pokrovsk/Dobropillia direction) (5); Omelnyk, Zaporizhzhia obl. (EST) (4); Kharkiv (EST) (3).",
  "Ukraine side: 2,420 personnel losses (killed+wounded), claimed by RU MoD (rolling tally, sum of 2 daily figure(s)) — CLAIMED TOTAL, UNVERIFIED (2 claim records).",
  "59–60 civilians in Ukraine (gov't-controlled areas) killed, claimed by Ukrainian local / regional officials & emergency services (26 event(s), deduped) — CLAIMED TOTAL, UNVERIFIED (28 claim records).",
  "484–619 civilians in Ukraine (gov't-controlled areas) wounded, claimed by Ukrainian local / regional officials & emergency services (49 event(s), deduped) — CLAIMED TOTAL, UNVERIFIED (53 claim records).",
  "Ukraine side: 8 Ukraine personnel captured, claimed by Media report: voin_dv (1 event(s), deduped) — CLAIMED TOTAL, UNVERIFIED (1 claim record).",
  "Russia side: 1,950 personnel losses (killed+wounded), claimed by Ukraine GenStaff / MoD (rolling tally, sum of 1 daily figure(s)) — CLAIMED TOTAL, UNVERIFIED (1 claim record).",
  "5 civilians in Russia / Russian-occupied areas killed, claimed by Media report: TASS (3 event(s), deduped) — CLAIMED TOTAL, UNVERIFIED (3 claim records).",
  "78–234 civilians in Russia / Russian-occupied areas wounded, claimed by Russian regional officials (8 event(s), deduped) — CLAIMED TOTAL, UNVERIFIED (8 claim records).",
  "Russia side: 108 Russia personnel killed, claimed by Ukrainian military units / commands (1 event(s), deduped) — CLAIMED TOTAL, UNVERIFIED (1 claim record).",
  "Russia side: 29 Russia personnel captured, claimed by Ukrainian military units / commands (1 event(s), deduped) — CLAIMED TOTAL, UNVERIFIED (1 claim record).",
  "Territorial gain/advance claims this week — RU MoD: 27; Independent analysts / OSINT: 5; Ukrainian military units / commands: 2; Ukrainian President / Cabinet: 2. No assessed change in the map’s EST territory layer.",
  "Units layer: 40 new unit/actor entries and 18 EST position updates (≥5 km) — all NOT CONFIRMED / ESTIMATED.",
  "150 figure-claim(s) could not be assigned to the side that suffered the loss and are listed under “Side unclear” in Section 2."
 ],
 "headline": [
  {
   "side": "Ukraine",
   "metric": "casualties_unspec",
   "label": "Personnel ‘losses’ / killed+wounded (split not stated)",
   "low": 2420.0,
   "high": 2420.0,
   "claimant": "RU MoD",
   "nClaims": 2,
   "basis": "sum of 2 daily official figures (rolling tally)",
   "text": "Ukraine side: 2,420 personnel losses (killed+wounded), claimed by RU MoD (rolling tally, sum of 2 daily figure(s))"
  },
  {
   "side": "Ukraine",
   "metric": "civ_killed",
   "label": "Civilians killed",
   "low": 59.0,
   "high": 60.0,
   "claimant": "Ukrainian local / regional officials & emergency services",
   "nClaims": 28,
   "basis": "per-event sum (deduped)",
   "text": "59–60 civilians in Ukraine (gov't-controlled areas) killed, claimed by Ukrainian local / regional officials & emergency services (26 event(s), deduped)"
  },
  {
   "side": "Ukraine",
   "metric": "civ_wounded",
   "label": "Civilians wounded / injured",
   "low": 484.0,
   "high": 619.0,
   "claimant": "Ukrainian local / regional officials & emergency services",
   "nClaims": 53,
   "basis": "per-event sum (deduped)",
   "text": "484–619 civilians in Ukraine (gov't-controlled areas) wounded, claimed by Ukrainian local / regional officials & emergency services (49 event(s), deduped)"
  },
  {
   "side": "Ukraine",
   "metric": "captured",
   "label": "Personnel captured / POWs",
   "low": 8.0,
   "high": 8.0,
   "claimant": "Media report: voin_dv",
   "nClaims": 1,
   "basis": "per-event sum (deduped)",
   "text": "Ukraine side: 8 Ukraine personnel captured, claimed by Media report: voin_dv (1 event(s), deduped)"
  },
  {
   "side": "Russia",
   "metric": "casualties_unspec",
   "label": "Personnel ‘losses’ / killed+wounded (split not stated)",
   "low": 1950.0,
   "high": 1950.0,
   "claimant": "Ukraine GenStaff / MoD",
   "nClaims": 1,
   "basis": "sum of 1 daily official figures (rolling tally)",
   "text": "Russia side: 1,950 personnel losses (killed+wounded), claimed by Ukraine GenStaff / MoD (rolling tally, sum of 1 daily figure(s))"
  },
  {
   "side": "Russia",
   "metric": "civ_killed",
   "label": "Civilians killed",
   "low": 5.0,
   "high": 5.0,
   "claimant": "Media report: TASS",
   "nClaims": 3,
   "basis": "per-event sum (deduped)",
   "text": "5 civilians in Russia / Russian-occupied areas killed, claimed by Media report: TASS (3 event(s), deduped)"
  },
  {
   "side": "Russia",
   "metric": "civ_wounded",
   "label": "Civilians wounded / injured",
   "low": 78.0,
   "high": 234.0,
   "claimant": "Russian regional officials",
   "nClaims": 8,
   "basis": "per-event sum (deduped)",
   "text": "78–234 civilians in Russia / Russian-occupied areas wounded, claimed by Russian regional officials (8 event(s), deduped)"
  },
  {
   "side": "Russia",
   "metric": "killed",
   "label": "Personnel killed",
   "low": 108.0,
   "high": 108.0,
   "claimant": "Ukrainian military units / commands",
   "nClaims": 1,
   "basis": "per-event sum (deduped)",
   "text": "Russia side: 108 Russia personnel killed, claimed by Ukrainian military units / commands (1 event(s), deduped)"
  },
  {
   "side": "Russia",
   "metric": "captured",
   "label": "Personnel captured / POWs",
   "low": 29.0,
   "high": 29.0,
   "claimant": "Ukrainian military units / commands",
   "nClaims": 1,
   "basis": "per-event sum (deduped)",
   "text": "Russia side: 29 Russia personnel captured, claimed by Ukrainian military units / commands (1 event(s), deduped)"
  }
 ],
 "sides": [
  "Ukraine",
  "Russia",
  "Unclear"
 ],
 "sideLabels": {
  "Ukraine": "Ukraine",
  "Russia": "Russia",
  "Unclear": "Side unclear (target/victim not stated or not parseable)"
 },
 "totalsBySide": {
  "Ukraine": {
   "side": "Ukraine",
   "label": "Ukraine",
   "civLabel": "Civilians in Ukraine (gov't-controlled areas)",
   "rows": [
    {
     "metric": "wounded",
     "category": "Personnel",
     "label": "Personnel wounded",
     "claimant": "Media report: tass_agency",
     "low": 2.0,
     "high": 2.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Occupied Luhansk obl. (EST — place not stated; plotted Luhansk)",
       "lo": 2.0,
       "hi": 2.0,
       "refs": [
        {
         "id": "lnr-20261019-pasechnik-funeral-car-3-killed",
         "url": "https://t.me/tass_agency/401113",
         "text": "TASS: RU-installed LNR head Pasechnik says 3 killed and 2 injured when AFU struck a funeral-service vehicle carrying a deceased person"
        }
       ]
      }
     ]
    },
    {
     "metric": "captured",
     "category": "Personnel",
     "label": "Personnel captured / POWs",
     "claimant": "Russian-installed occupation officials",
     "low": 2,
     "high": 2,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Dnepr GoF zone — location not stated (EST — plotted Zaporizhzhia SW axis)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "saldo-20261019-dnepr-3-strongpoints",
         "url": "https://t.me/SALDO_VGA/17924",
         "text": "two UA servicemen captured"
        }
       ]
      }
     ]
    },
    {
     "metric": "captured",
     "category": "Personnel",
     "label": "Personnel captured / POWs",
     "claimant": "Media report: voin_dv",
     "low": 8.0,
     "high": 8.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-21",
       "loc": "Omelnyk (NW part), Zaporizhzhia obl. (EST)",
       "lo": 8.0,
       "hi": 8.0,
       "refs": [
        {
         "id": "voindv-20261021-38-omsbr-omelnyk-pows",
         "url": "https://t.me/voin_dv/21686",
         "text": "Voin DV: 38th Guards MRB soldiers say that while clearing the north-western part of Omelnyk on 17 Oct they found a UA position and 8 soldiers surrendered"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 59.0,
     "high": 60.0,
     "nClaims": 28,
     "nEvents": 26,
     "sourcesDisagree": true,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Kryvyi Rih / Dnipro (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "dnipro-ova-20261017-kryvyi-rih-dnipro",
         "url": "https://t.me/dnipropetrovskaODA/32638",
         "text": "one killed at a damaged enterprise in Dnipro"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Kherson region (EST — plotted Kherson)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "ukrinform-20261017-kherson-1k-40w",
         "url": "https://www.ukrinform.net/rubric-ato/4175491-russian-strikes-on-kherson-region-leave-one-killed-40-injured-including-children.html",
         "text": "Kherson Regional Prosecutor: 1 killed, 40 injured (3 children) on Oct 17"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Poltava (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "suspilne-20261017-poltava-drones-1k",
         "url": "https://t.me/suspilnenews/77701",
         "text": "Poltava OVA head Diakivnych (via Suspilne): one killed, two injured in a Russian drone attack on Poltava evening Oct 17"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Zaporizhzhia obl. (EST — plotted Zaporizhzhia)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "fedorov-20261018-zaporizhzhia-808-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49068",
         "text": "Zaporizhzhia OVA head Fedorov: over the past day 1 killed, 4 injured in Zaporizhzhia city/district"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Sloviansk, Donetsk obl. (EST)",
       "lo": 6,
       "hi": 6,
       "refs": [
        {
         "id": "up-20261018-sloviansk-6-killed",
         "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058595/",
         "text": "Ukrainska Pravda citing Sloviansk MVA head Liakh / SES: six killed and 15 injured in Russian airstrikes and drone attacks on Sloviansk on Oct 17"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Korabelnyi district, Kherson (EST)",
       "lo": 2.0,
       "hi": 2.0,
       "refs": [
        {
         "id": "kherson-ova-20261018-second-death",
         "url": "https://t.me/khersonskaODA/69852",
         "text": "toll from that attack now 2 killed, 35 injured"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Kyiv — Desnianskyi / Dniprovskyi districts (EST)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "kyiv-20261018-ballistic-medcentre",
         "url": "https://t.me/suspilnenews/77750",
         "text": "1 killed (KI: a 21-year-old woman), 2 injured, one hospitalised"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kyiv — Desnianskyi, Solomianskyi, Dniprovskyi districts (EST)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "kyiv-20261019-dsns-toll-1-killed-8-injured",
         "url": "https://t.me/suspilnenews/77772",
         "text": "Kyiv SES via Suspilne: overnight RU attack on Kyiv killed 1 and injured at least 8 in three districts"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kharkiv oblast (EST — plotted Izium district)",
       "lo": 6.0,
       "hi": 6.0,
       "refs": [
        {
         "id": "kharkiv-ova-20261019-weekly",
         "url": "https://t.me/synegubov/26785",
         "text": "141 injured (10 children), 6 killed"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kryvyi Rih, industrial enterprise (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "kryvyi-rih-20261019-2-killed-7-injured",
         "url": "https://t.me/dnipropetrovskaODA/32691",
         "text": "Dnipropetrovsk OVA: RU attack on an industrial enterprise in Kryvyi Rih killed two men"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Dnipro, Kryvyi Rih, Nikopol district (EST — plotted Dnipro)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "dnipro-ova-20261019-1830-summary",
         "url": "https://t.me/dnipropetrovskaODA/32693",
         "text": "Dnipropetrovsk OVA 18:30 19 Oct: two killed and ten injured incl. a child"
        },
        {
         "id": "dnipro-ova-20261019-1830-summary",
         "url": "https://t.me/dnipropetrovskaODA/32693",
         "text": "2 killed), Zelenodolsk hromada, Nikopol district (Marhanets, Chervonohryhorivka, Pokrovske hromadas)"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Nova Vodolaha, Kharkiv obl. — central park (EST)",
       "lo": 4,
       "hi": 4,
       "refs": [
        {
         "id": "kharkiv-ova-20261019-nova-vodolaha-final-toll",
         "url": "https://t.me/synegubov/26802",
         "text": "Kharkiv OVA head Syniehubov (updated): in Nova Vodolaha two children (girls aged 11 and 1.2) and four adults were killed"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Obukhiv, Kyiv obl. — enterprise (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "obukhiv-20261019-enterprise-1-killed-6-injured",
         "url": "https://interfax.com.ua/news/general/1222822.html",
         "text": "Interfax-Ukraine (Kyiv OVA): RU attack on an enterprise in Obukhiv killed one person and injured six"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Zaporizhzhia obl. (EST — plotted Zaporizhzhia city)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "zaporizhzhia-ova-20261020-848-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49077",
         "text": "one killed, five injured in Zaporizhzhia city and district"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Obukhiv district, Kyiv obl. (EST)",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "kyivobl-20261019-obukhiv-warehouse-3-killed",
         "url": "https://t.me/suspilnenews/77836",
         "text": "Suspilne / DSNS: three people killed and six injured in a RU strike on a production-and-warehouse building in Obukhiv district, Kyiv obl., on the evening of 19 Oct"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Kramatorsk, Donetsk obl.",
       "lo": 3,
       "hi": 4.0,
       "refs": [
        {
         "id": "kramatorsk-20261020-3-heat-workers-killed",
         "url": "https://suspilne.media/donbas/1432095-u-kramatorsku-vnaslidok-rosijskogo-aviaudaru-zaginuli-troe-pracivnikiv-teplopostacalnogo-pidpriemstva/",
         "text": "Suspilne Donbas: a RU guided-bomb strike on Kramatorsk on 20 Oct killed three employees of a heat-supply company checking networks before the heating season"
        },
        {
         "id": "kramatorsk-20261020-3-killed-2-injured-up",
         "url": "https://www.pravda.com.ua/eng/news/2026/10/21/8058891/",
         "text": "Ukrainska Pravda / Donetsk Oblast Prosecutor's Office: a RU attack on Kramatorsk on 20 Oct killed three civilians and injured two, damaging three multi-storey residential buildings"
        },
        {
         "id": "kramatorsk-20261020-3-killed-2-injured-up",
         "url": "https://www.pravda.com.ua/eng/news/2026/10/21/8058891/",
         "text": "May overlap with kramatorsk-20261020-3-heat-workers-killed (Suspilne: 4 killed, 6 injured in three attacks)"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Dnipro suburbs (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "dnipro-ova-20261020-warehouses-2-killed",
         "url": "https://t.me/dnipropetrovskaODA/32717",
         "text": "Dnipropetrovsk OVA (Hanzha): two people killed and three injured (one 27-year-old with severe burns) in a RU attack on warehouses in the Dnipro suburbs"
        },
        {
         "id": "dnipro-ova-20261020-1830-summary",
         "url": "https://t.me/dnipropetrovskaODA/32725",
         "text": "Dnipropetrovsk OVA 18:30 20 Oct: two killed, seven injured"
        },
        {
         "id": "dnipro-ova-20261020-1830-summary",
         "url": "https://t.me/dnipropetrovskaODA/32725",
         "text": "warehouses and infrastructure damaged in Dnipro (2 killed, 4 injured)"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Chabany, Kyiv–Odesa highway, Kyiv obl.",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "kyivobl-20261020-chabany-highway-drone",
         "url": "https://t.me/suspilnenews/77861",
         "text": "at least three killed per reports, including the driver of a shuttle to the National Military Memorial Cemetery"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Holosiivskyi district, Kyiv (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kyiv-20261020-drone-gas-station-holosiivskyi",
         "url": "https://www.ukrinform.net/rubric-ato/4176338-russian-drone-attacks-kill-one-injure-seven-in-kyiv.html",
         "text": "one killed, seven injured as of 14:45"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Zaporizhzhia obl. (EST — plotted Orikhiv)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "zaporizhzhia-20261021-fedorov-795-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49089",
         "text": "1 killed and 6 injured in Zaporizhzhia city/raion"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kharkiv (EST)",
       "lo": 2.0,
       "hi": 2.0,
       "refs": [
        {
         "id": "kharkiv-20261021-oblast-daily-24-injured",
         "url": "https://t.me/synegubov/26826",
         "text": "2 killed, 24 injured incl. 2 children (7 in Kharkiv"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kramatorsk (EST)",
       "lo": 4.0,
       "hi": 4.0,
       "refs": [
        {
         "id": "donetsk-20261021-filashkin-kramatorsk-4-killed",
         "url": "https://t.me/VadymFilashkin/18794",
         "text": "Donetsk OVA (Filashkin) morning 21 Oct: in Kramatorsk 4 killed and 6 injured (15 apartment blocks, 2 schools damaged)"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Bucha district, Kyiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kyiv-obl-20261021-bucha-district-1-killed",
         "url": "https://t.me/RBC_ua_news/209469",
         "text": "RBC-Ukraine / Kyiv OVA: one person killed and one injured in a RU attack in Bucha district"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Chernihiv (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "chernihiv-20261021-double-tap-1-killed",
         "url": "https://t.me/RBC_ua_news/209482",
         "text": "one person killed by the second hit, one with barotrauma"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Sloviansk (EST)",
       "lo": 7.0,
       "hi": 7.0,
       "refs": [
        {
         "id": "sloviansk-20261021-final-toll-7",
         "url": "https://www.ukrinform.net/rubric-ato/4176644-seven-killed-in-sloviansk-as-rescue-workers-spend-five-days-clearing-rubble.html",
         "text": "7 bodies recovered (incl. a rescuer), 12 injured"
        }
       ]
      },
      {
       "date": "2026-10-23",
       "loc": "Chernihiv (EST)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "ukrinform-20261023-chernihiv-enterprise",
         "url": "https://www.ukrinform.net/rubric-ato/4177517-russian-forces-attack-enterprise-in-chernihiv-leaving-one-killed-25-injured.html",
         "text": "1 killed, 25 injured, people possibly trapped"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Ukrainian President / Cabinet",
     "low": 10.0,
     "high": 10.0,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Ukraine-wide — Vinnytsia / Zhytomyr / Khmelnytskyi / Odesa substations (EST — plotted Vinnytsia)",
       "lo": 2.0,
       "hi": 2.0,
       "refs": [
        {
         "id": "zelensky-20261018-energy-76-strikes",
         "url": "https://t.me/V_Zelenskiy_official/21421",
         "text": "12 injured incl. 2 children, 2 killed"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Nova Vodolaha, Kharkiv obl. — central park (EST)",
       "lo": 6,
       "hi": 6,
       "refs": [
        {
         "id": "zelensky-20261019-nova-vodolaha-park-6-killed",
         "url": "https://t.me/V_Zelenskiy_official/21437",
         "text": "six killed incl. children (a girl of ~1 year and an 11-year-old), 14 injured incl. six more children"
        }
       ]
      },
      {
       "date": "2026-10-22",
       "loc": "Lozova central market, Kharkiv obl. (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "ukrinform-20261022-lozova-market-2-killed-36-injured",
         "url": "https://www.ukrinform.net/rubric-ato/4177265-russian-strike-on-lozova-market-two-killed-injury-toll-rises-to-36.html",
         "text": "Ukrinform citing Lozova community head Serhii Zelensky: Russian strike on Lozova central market (Shahed-type drones and a Banderol-type drone missile) killed two and injured 36"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: Kyiv Independent",
     "low": 11.0,
     "high": 11.0,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-21",
       "loc": "Sviatoshynskyi district, Kyiv (EST)",
       "lo": 2.0,
       "hi": 2.0,
       "refs": [
        {
         "id": "kyiv-20261021-sviatoshynskyi-2-killed",
         "url": "https://kyivindependent.com/russian-attacks-kill-at-least-9-wound-45-across-ukraine-as-yet-another-deadly-drone-attack-strikes-kyiv/",
         "text": "at least 2 killed, 2 injured"
        }
       ]
      },
      {
       "date": "2026-10-23",
       "loc": "Ukraine-wide (pinned Lozova, EST)",
       "lo": 8.0,
       "hi": 8.0,
       "refs": [
        {
         "id": "ki-20261023-energy-8-killed-67",
         "url": "https://kyivindependent.com/energy-facilities-across-ukraine-targeted-as-russian-attacks-kill-at-least-8-injure-67-over-past-day/",
         "text": "KI: Russian attacks killed 8 and wounded 67 over the past day"
        }
       ]
      },
      {
       "date": "2026-10-23",
       "loc": "Black Sea off Romania (EST)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "ki-20261023-khoryv-sinks-romania",
         "url": "https://kyivindependent.com/civilian-cargo-ship-sinks-off-coast-of-romania-after-russian-drone-strike-authorities-say/",
         "text": "1 dead, 3 missing, 9 rescued per Romanian authorities"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: ukrinform_news",
     "low": 3,
     "high": 3,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Nova Vodolaha, Kharkiv obl. (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "ukrinform-20261019-nova-vodolaha-first-report",
         "url": "https://t.me/ukrinform_news/171794",
         "text": "two women and an infant killed, at least 15 injured incl. 7 children"
        }
       ]
      },
      {
       "date": "2026-10-22",
       "loc": "Kyiv (six districts) (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261022-kyiv-night-attack-1-killed-22-injured",
         "url": "https://t.me/ukrinform_news/171930",
         "text": "Ukrinform: Russian overnight attack on Kyiv killed one person and injured 22"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: Interfax-Ukraine",
     "low": 2,
     "high": 2,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Khmelnytskyi city (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "khmelnytskyi-20261019-2-killed",
         "url": "https://interfax.com.ua/news/general/1222811.html",
         "text": "Interfax-Ukraine (oblast administration): two elderly women killed in a RU attack on residential buildings in Khmelnytskyi"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: suspilnenews",
     "low": 6.0,
     "high": 14.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": true,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Ukraine-wide (EST — plotted Kharkiv obl.)",
       "lo": 6.0,
       "hi": 14.0,
       "refs": [
        {
         "id": "suspilne-20261019-daily-toll-14-killed",
         "url": "https://t.me/suspilnenews/77817",
         "text": "Suspilne daily roll-up 19 Oct: at least 14 killed and more than 75 injured by RU attacks"
        },
        {
         "id": "suspilne-20261019-daily-toll-14-killed",
         "url": "https://t.me/suspilnenews/77817",
         "text": "Kharkiv obl. 6 killed (Nova Vodolaha), Khmelnytskyi 2, Dnipropetrovsk obl. 2, Donetsk obl. 1 (a car hit on the Donetske–Sloviansk road), Kyiv obl. 2 (Irpin, Obukhiv district), Kyiv city 1"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 484.0,
     "high": 619.0,
     "nClaims": 53,
     "nEvents": 49,
     "sourcesDisagree": true,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Zaporizhzhia (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "zoda-20261017-zaporizhzhia-strike",
         "url": "https://t.me/zoda_gov_ua/68450",
         "text": "apartment blocks damaged, cars burned, two injured"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Kharkiv (EST)",
       "lo": 15.0,
       "hi": 41.0,
       "refs": [
        {
         "id": "synegubov-20261017-kharkiv-day",
         "url": "https://t.me/synegubov/26718",
         "text": "in Kharkiv a 71-year-old woman and 58-year-old man killed, 41 injured incl. three children"
        },
        {
         "id": "synegubov-20261017-kharkiv-day",
         "url": "https://t.me/synegubov/26718",
         "text": "SES (via Ukrinform): evening missile strikes on Kharkiv injured 15. Unverified / EST"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Kherson, Korabelnyi district (EST)",
       "lo": 22.0,
       "hi": 40.0,
       "refs": [
        {
         "id": "kherson-ova-20261017-kab-korabelnyi",
         "url": "https://t.me/khersonskaODA/69755",
         "text": "Ukrinform: an ambulance driver killed, 22 injured (OVA later: 33 injured)"
        },
        {
         "id": "kherson-ova-20261017-kab-korabelnyi",
         "url": "https://t.me/khersonskaODA/69755",
         "text": "Ukrinform: an ambulance driver killed, 22 injured (OVA later: 33 injured)"
        },
        {
         "id": "ukrinform-20261017-kherson-1k-40w",
         "url": "https://www.ukrinform.net/rubric-ato/4175491-russian-strikes-on-kherson-region-leave-one-killed-40-injured-including-children.html",
         "text": "Kherson Regional Prosecutor: 1 killed, 40 injured (3 children) on Oct 17"
        },
        {
         "id": "ukrinform-20261017-kherson-1k-40w",
         "url": "https://www.ukrinform.net/rubric-ato/4175491-russian-strikes-on-kherson-region-leave-one-killed-40-injured-including-children.html",
         "text": "airstrike on Kherson ~04:00 injured 35"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Vinnytsia obl. (EST)",
       "lo": 6,
       "hi": 6,
       "refs": [
        {
         "id": "ukrinform-20261017-vinnytsia-blackout",
         "url": "https://www.ukrinform.net/rubric-ato/4175377-vinnytsia-region-endures-one-of-russias-largest-attacks-since-start-of-fullscale-invasion.html",
         "text": "six injured"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Sumy (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "ukrinform-20261017-sumy-kab",
         "url": "https://www.ukrinform.net/rubric-ato/4175395-russian-forces-launch-massive-guided-bomb-attack-on-sumy-killing-one-person-and-injuring-several-others.html",
         "text": "42-year-old man killed, at least two injured"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Nikopol / Marhanets / Kryvyi Rih districts, Dnipropetrovsk obl. (EST — plotted Nikopol)",
       "lo": 3.0,
       "hi": 3.0,
       "refs": [
        {
         "id": "ukrinform-20261017-dnipro-obl-30-attacks",
         "url": "https://www.ukrinform.net/rubric-ato/4175506-russian-shelling-in-dnipropetrovsk-region-injures-three-people.html",
         "text": "3 injured in Nikopol area"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Kharkiv — Slobidskyi / Osnovianskyi border (EST)",
       "lo": 3.0,
       "hi": 3.0,
       "refs": [
        {
         "id": "ukrinform-20261017-kharkiv-ballistic-3w",
         "url": "https://www.ukrinform.net/rubric-ato/4175520-russian-missile-strike-on-kharkiv-injures-three-people.html",
         "text": "3 injured (Syniehubov / Mayor Terekhov)"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Poltava (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "suspilne-20261017-poltava-drones-1k",
         "url": "https://t.me/suspilnenews/77701",
         "text": "Poltava OVA head Diakivnych (via Suspilne): one killed, two injured in a Russian drone attack on Poltava evening Oct 17"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Zaporizhzhia obl. (EST — plotted Zaporizhzhia)",
       "lo": 4.0,
       "hi": 4.0,
       "refs": [
        {
         "id": "fedorov-20261018-zaporizhzhia-808-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49068",
         "text": "Zaporizhzhia OVA head Fedorov: over the past day 1 killed, 4 injured in Zaporizhzhia city/district"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Kharkiv obl. — Kharkiv / Zolochiv / Izium (EST — plotted Kharkiv)",
       "lo": 12.0,
       "hi": 12.0,
       "refs": [
        {
         "id": "syniehubov-20261018-kharkiv-12-injured",
         "url": "https://t.me/synegubov/26747",
         "text": "12 injured (Kharkiv, Zolochiv, Izium)"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Sumy hromada, Sumy obl. (EST — plotted Sumy)",
       "lo": 2.0,
       "hi": 2.0,
       "refs": [
        {
         "id": "ukrinform-20261018-sumy-2-killed",
         "url": "https://www.ukrinform.net/rubric-ato/4175555-russian-strikes-kill-two-injure-five-in-sumy-region-in-one-day.html",
         "text": "National Police (via Ukrinform): in Sumy hromada a 30-year-old man killed by drone, a 42-year-old killed by guided bombs, 2 women injured"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Sloviansk, Donetsk obl. (EST)",
       "lo": 15.0,
       "hi": 15.0,
       "refs": [
        {
         "id": "up-20261018-sloviansk-6-killed",
         "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058595/",
         "text": "Ukrainska Pravda citing Sloviansk MVA head Liakh / SES: six killed and 15 injured in Russian airstrikes and drone attacks on Sloviansk on Oct 17"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Dnipro / Synelnykove district, Dnipropetrovsk obl. (EST — plotted Dnipro)",
       "lo": 3.0,
       "hi": 3.0,
       "refs": [
        {
         "id": "dnipro-ova-20261018-synelnykove-dnipro",
         "url": "https://t.me/dnipropetrovskaODA/32658",
         "text": "Dnipropetrovsk OVA: overnight 3 injured, >10 attacks on three districts (Dnipro infrastructure and cars damaged"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Dnipropetrovsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "dnipro-ova-20261018-1830",
         "url": "https://t.me/dnipropetrovskaODA/32660",
         "text": "one woman injured"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Staryi Saltiv, Chuhuiv district, Kharkiv obl. (EST)",
       "lo": 4.0,
       "hi": 4.0,
       "refs": [
        {
         "id": "ukrinform-20261018-staryi-saltiv-fpv",
         "url": "https://www.ukrinform.net/rubric-ato/4175702-russian-uav-strike-hits-car-in-kharkiv-region-injuring-two-people.html",
         "text": "4 civilians injured by UAVs in the region over 24 h"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Korabelnyi district, Kherson (EST)",
       "lo": 35.0,
       "hi": 35.0,
       "refs": [
        {
         "id": "kherson-ova-20261018-second-death",
         "url": "https://t.me/khersonskaODA/69852",
         "text": "toll from that attack now 2 killed, 35 injured"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Saltivskyi district, Kharkiv (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "kharkiv-20261018-saltivskyi-uav",
         "url": "https://interfax.com.ua/news/general/1222090.html",
         "text": "two people injured"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Kyiv — Desnianskyi / Dniprovskyi districts (EST)",
       "lo": 2.0,
       "hi": 2.0,
       "refs": [
        {
         "id": "kyiv-20261018-ballistic-medcentre",
         "url": "https://t.me/suspilnenews/77750",
         "text": "1 killed (KI: a 21-year-old woman), 2 injured, one hospitalised"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kyiv — left-bank metro (Chernihivska/Lisova) & Solomianskyi (EST)",
       "lo": 3.0,
       "hi": 3.0,
       "refs": [
        {
         "id": "kyiv-20261019-ballistic-metro-solomianskyi",
         "url": "https://t.me/suspilnenews/77764",
         "text": "missile debris hit the first floor of a 25-storey building in Solomianskyi district (3 injured, treated on site) and a non-residential building"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Zaporizhzhia oblast front (EST — plotted Orikhiv)",
       "lo": 3.0,
       "hi": 3.0,
       "refs": [
        {
         "id": "zp-ova-20261019-738-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49069",
         "text": "3 injured in Zaporizhzhia district"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kherson oblast right bank (EST — plotted Kherson)",
       "lo": 1.0,
       "hi": 44.0,
       "refs": [
        {
         "id": "kherson-ova-20261019-daily",
         "url": "https://t.me/khersonskaODA/69854",
         "text": "4 private houses damaged, 1 child injured"
        },
        {
         "id": "kherson-ova-20261019-daily",
         "url": "https://t.me/khersonskaODA/69854",
         "text": "Kherson 17 Oct airstrike injured rose to 44. Unverified / EST"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kyiv — Desnianskyi, Solomianskyi, Dniprovskyi districts (EST)",
       "lo": 8.0,
       "hi": 8.0,
       "refs": [
        {
         "id": "kyiv-20261019-dsns-toll-1-killed-8-injured",
         "url": "https://t.me/suspilnenews/77772",
         "text": "Kyiv SES via Suspilne: overnight RU attack on Kyiv killed 1 and injured at least 8 in three districts"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kharkiv oblast (EST — plotted Izium district)",
       "lo": 141.0,
       "hi": 141.0,
       "refs": [
        {
         "id": "kharkiv-ova-20261019-weekly",
         "url": "https://t.me/synegubov/26785",
         "text": "141 injured (10 children), 6 killed"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kryvyi Rih, industrial enterprise (EST)",
       "lo": 7,
       "hi": 7,
       "refs": [
        {
         "id": "kryvyi-rih-20261019-2-killed-7-injured",
         "url": "https://t.me/dnipropetrovskaODA/32691",
         "text": "injured rose to seven incl. a 15-year-old"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Novovorontsovka, Kherson obl. (EST)",
       "lo": 2,
       "hi": 3,
       "refs": [
        {
         "id": "kherson-ova-20261019-novovorontsovka-drone",
         "url": "https://t.me/khersonskaODA/69878",
         "text": "Kherson OVA: around 14:00 a RU drone attack in Novovorontsovka injured two people incl. a 17-year-old (Suspilne later: three injured)"
        },
        {
         "id": "kherson-ova-20261019-novovorontsovka-drone",
         "url": "https://t.me/khersonskaODA/69878",
         "text": "Kherson OVA: around 14:00 a RU drone attack in Novovorontsovka injured two people incl. a 17-year-old (Suspilne later: three injured)"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Irpin, Kyiv obl. (EST)",
       "lo": 19.0,
       "hi": 19.0,
       "refs": [
        {
         "id": "irpin-20261019-1-killed-19-injured",
         "url": "https://www.ukrinform.net/rubric-ato/4175969-russian-attack-on-irpin-kills-one-person-and-injures-19-including-nine-children.html",
         "text": "Kyiv OVA head Tkachenko (via Ukrinform): RU attack on Irpin killed a woman and injured 19 incl. 9 children"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Nova Vodolaha, Kharkiv obl. — central park (EST)",
       "lo": 15.0,
       "hi": 15.0,
       "refs": [
        {
         "id": "kharkiv-ova-20261019-nova-vodolaha-final-toll",
         "url": "https://t.me/synegubov/26802",
         "text": "15 injured incl. 7 children"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Obukhiv, Kyiv obl. — enterprise (EST)",
       "lo": 6,
       "hi": 6,
       "refs": [
        {
         "id": "obukhiv-20261019-enterprise-1-killed-6-injured",
         "url": "https://interfax.com.ua/news/general/1222822.html",
         "text": "Interfax-Ukraine (Kyiv OVA): RU attack on an enterprise in Obukhiv killed one person and injured six"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Zaporizhzhia obl. (EST — plotted Zaporizhzhia city)",
       "lo": 1,
       "hi": 5,
       "refs": [
        {
         "id": "zaporizhzhia-ova-20261020-848-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49077",
         "text": "one killed, five injured in Zaporizhzhia city and district"
        },
        {
         "id": "zaporizhzhia-ova-20261020-848-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49077",
         "text": "Later on 20 Oct a strike on a warehouse in Zaporizhzhia injured two"
        },
        {
         "id": "zaporizhzhia-20261020-municipal-bus-fpv",
         "url": "https://t.me/zoda_gov_ua/68514",
         "text": "preliminarily one person injured"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Kherson obl. (EST — plotted Kherson city)",
       "lo": 18.0,
       "hi": 48.0,
       "refs": [
        {
         "id": "kherson-ova-20261020-daily-18-injured",
         "url": "https://t.me/khersonskaODA/69916",
         "text": "18 injured incl. a child"
        },
        {
         "id": "kherson-ova-20261020-daily-18-injured",
         "url": "https://t.me/khersonskaODA/69916",
         "text": "Kherson 17 Oct air-strike toll rose to 48 injured"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Kramatorsk, Donetsk obl.",
       "lo": 2,
       "hi": 6.0,
       "refs": [
        {
         "id": "kramatorsk-20261020-3-heat-workers-killed",
         "url": "https://suspilne.media/donbas/1432095-u-kramatorsku-vnaslidok-rosijskogo-aviaudaru-zaginuli-troe-pracivnikiv-teplopostacalnogo-pidpriemstva/",
         "text": "five civilians injured (Kramatorskteploenergo, Kramatorsk MVA, Donetsk prosecutors)"
        },
        {
         "id": "kramatorsk-20261020-3-killed-2-injured-up",
         "url": "https://www.pravda.com.ua/eng/news/2026/10/21/8058891/",
         "text": "Ukrainska Pravda / Donetsk Oblast Prosecutor's Office: a RU attack on Kramatorsk on 20 Oct killed three civilians and injured two, damaging three multi-storey residential buildings"
        },
        {
         "id": "kramatorsk-20261020-3-killed-2-injured-up",
         "url": "https://www.pravda.com.ua/eng/news/2026/10/21/8058891/",
         "text": "May overlap with kramatorsk-20261020-3-heat-workers-killed (Suspilne: 4 killed, 6 injured in three attacks)"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Dubno, Rivne obl.",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "rivne-20261020-dubno-shopping-centre",
         "url": "https://t.me/RBC_ua_news/209388",
         "text": "RBC-Ukraine / Rivne OVA: a RU strike hit a shopping centre in Dubno, three injured (two hospitalised)"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Holosiivskyi district, Kyiv (EST)",
       "lo": 7,
       "hi": 7,
       "refs": [
        {
         "id": "kyiv-20261020-drone-gas-station-holosiivskyi",
         "url": "https://www.ukrinform.net/rubric-ato/4176338-russian-drone-attacks-kill-one-injure-seven-in-kyiv.html",
         "text": "one killed, seven injured as of 14:45"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Novobavarskyi district, Kharkiv",
       "lo": 7,
       "hi": 9.0,
       "refs": [
        {
         "id": "kharkiv-20261020-novobavarskyi-missile",
         "url": "https://t.me/synegubov/26822",
         "text": "Kharkiv OVA (Syniehubov) / Mayor Terekhov: a RU missile strike on private housing and a civilian enterprise in Kharkiv's Novobavarskyi district (afternoon 20 Oct) injured seven"
        },
        {
         "id": "kharkiv-20261020-novobavarskyi-dsns-9-injured",
         "url": "https://t.me/ukrinform_news/171853",
         "text": "Ukrinform / DSNS: 9 people injured by RU strikes in Kharkiv on 20 Oct"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Ivano-Frankivsk obl. (EST — plotted oblast seat; facility not named)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ivano-frankivsk-20261020-energy-repeat",
         "url": "https://www.pravda.com.ua/eng/news/2026/10/20/8058939/",
         "text": "one person injured in the repeat attack"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Dnipropetrovsk obl. — Dnipro, Synelnykove, Nikopol, Kryvyi Rih districts (EST — plotted Dnipro)",
       "lo": 4.0,
       "hi": 7,
       "refs": [
        {
         "id": "dnipro-ova-20261020-1830-summary",
         "url": "https://t.me/dnipropetrovskaODA/32725",
         "text": "Dnipropetrovsk OVA 18:30 20 Oct: two killed, seven injured"
        },
        {
         "id": "dnipro-ova-20261020-1830-summary",
         "url": "https://t.me/dnipropetrovskaODA/32725",
         "text": "warehouses and infrastructure damaged in Dnipro (2 killed, 4 injured)"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Pervomaisk, Mykolaiv obl.",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "mykolaiv-20261020-pervomaisk-epicentr",
         "url": "https://www.ukrinform.net/rubric-ato/4176470-russian-forces-strike-epicentr-shopping-center-in-pervomaisk-injuring-two-women.html",
         "text": "two women injured"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Kremenchuk, Poltava obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kremenchuk-20261020-education-building-uav",
         "url": "https://suspilne.media/poltava/1432667-u-kremencuci-rosijskij-bpla-vluciv-u-navcalnij-zaklad-travmovana-ludina/",
         "text": "preliminarily one person injured"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Zaporizhzhia obl. (EST — plotted Orikhiv)",
       "lo": 6.0,
       "hi": 6.0,
       "refs": [
        {
         "id": "zaporizhzhia-20261021-fedorov-795-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49089",
         "text": "1 killed and 6 injured in Zaporizhzhia city/raion"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Nikopol district, Dnipropetrovsk obl. (EST)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "dnipro-ova-20261021-0730-summary",
         "url": "https://t.me/dnipropetrovskaODA/32726",
         "text": "1 injured (Nikopol area), houses, cars and an enterprise damaged"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kherson (EST)",
       "lo": 13.0,
       "hi": 13.0,
       "refs": [
        {
         "id": "kherson-20261021-daily-13-injured",
         "url": "https://t.me/khersonskaODA/69986",
         "text": "13 injured incl. 3 children"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kharkiv (EST)",
       "lo": 24.0,
       "hi": 24.0,
       "refs": [
        {
         "id": "kharkiv-20261021-oblast-daily-24-injured",
         "url": "https://t.me/synegubov/26826",
         "text": "2 killed, 24 injured incl. 2 children (7 in Kharkiv"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Zhovkva hromada, Lviv obl. (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "lviv-20261021-zhovkva-enterprise",
         "url": "https://t.me/suspilnenews/77932",
         "text": "two workers injured, a private house damaged"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kramatorsk (EST)",
       "lo": 2.0,
       "hi": 6.0,
       "refs": [
        {
         "id": "donetsk-20261021-filashkin-kramatorsk-4-killed",
         "url": "https://t.me/VadymFilashkin/18794",
         "text": "Donetsk OVA (Filashkin) morning 21 Oct: in Kramatorsk 4 killed and 6 injured (15 apartment blocks, 2 schools damaged)"
        },
        {
         "id": "donetsk-20261021-filashkin-kramatorsk-4-killed",
         "url": "https://t.me/VadymFilashkin/18794",
         "text": "2 injured in Sloviansk"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Sloviansk (EST)",
       "lo": 12.0,
       "hi": 12.0,
       "refs": [
        {
         "id": "sloviansk-20261021-final-toll-7",
         "url": "https://www.ukrinform.net/rubric-ato/4176644-seven-killed-in-sloviansk-as-rescue-workers-spend-five-days-clearing-rubble.html",
         "text": "7 bodies recovered (incl. a rescuer), 12 injured"
        }
       ]
      },
      {
       "date": "2026-10-22",
       "loc": "Zhytomyr community, Zhytomyr obl. (EST)",
       "lo": 9,
       "hi": 9,
       "refs": [
        {
         "id": "ukrinform-20261022-zhytomyr-house-9-injured",
         "url": "https://www.ukrinform.net/rubric-ato/4177211-russian-drone-hits-house-in-zhytomyr-region-injuring-nine-including-children.html",
         "text": "Ukrinform citing Zhytomyr OVA head Vitalii Bunechko: a Shahed drone hit a private house in the Zhytomyr community, injuring nine incl. two children"
        }
       ]
      },
      {
       "date": "2026-10-23",
       "loc": "Sumy (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "suspilne-20261023-sumy-night-drones-2-injured",
         "url": "https://t.me/suspilnenews/78046",
         "text": "Suspilne citing Sumy OVA head Hryhorov: at least two injured in an overnight massed Russian drone attack on Sumy"
        }
       ]
      },
      {
       "date": "2026-10-23",
       "loc": "Nikopol & Synelnykove districts, Dnipro, Pavlohrad (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "tg-suspilne-20261023-dnipro-nikopol",
         "url": "https://t.me/suspilnenews/78056",
         "text": "Suspilne citing OVA head Hanzha: two injured in overnight RU strikes on Nikopol and Synelnykove districts"
        }
       ]
      },
      {
       "date": "2026-10-23",
       "loc": "Chernihiv (EST)",
       "lo": 25.0,
       "hi": 25.0,
       "refs": [
        {
         "id": "ukrinform-20261023-chernihiv-enterprise",
         "url": "https://www.ukrinform.net/rubric-ato/4177517-russian-forces-attack-enterprise-in-chernihiv-leaving-one-killed-25-injured.html",
         "text": "1 killed, 25 injured, people possibly trapped"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Ukrainian President / Cabinet",
     "low": 62.0,
     "high": 62.0,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Ukraine-wide — Vinnytsia / Zhytomyr / Khmelnytskyi / Odesa substations (EST — plotted Vinnytsia)",
       "lo": 12.0,
       "hi": 12.0,
       "refs": [
        {
         "id": "zelensky-20261018-energy-76-strikes",
         "url": "https://t.me/V_Zelenskiy_official/21421",
         "text": "12 injured incl. 2 children, 2 killed"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Nova Vodolaha, Kharkiv obl. — central park (EST)",
       "lo": 14.0,
       "hi": 14.0,
       "refs": [
        {
         "id": "zelensky-20261019-nova-vodolaha-park-6-killed",
         "url": "https://t.me/V_Zelenskiy_official/21437",
         "text": "six killed incl. children (a girl of ~1 year and an 11-year-old), 14 injured incl. six more children"
        }
       ]
      },
      {
       "date": "2026-10-22",
       "loc": "Lozova central market, Kharkiv obl. (EST)",
       "lo": 36.0,
       "hi": 36.0,
       "refs": [
        {
         "id": "ukrinform-20261022-lozova-market-2-killed-36-injured",
         "url": "https://www.ukrinform.net/rubric-ato/4177265-russian-strike-on-lozova-market-two-killed-injury-toll-rises-to-36.html",
         "text": "Ukrinform citing Lozova community head Serhii Zelensky: Russian strike on Lozova central market (Shahed-type drones and a Banderol-type drone missile) killed two and injured 36"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: Kyiv Independent",
     "low": 54.0,
     "high": 75.0,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": true,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-21",
       "loc": "Sviatoshynskyi district, Kyiv (EST)",
       "lo": 2.0,
       "hi": 2.0,
       "refs": [
        {
         "id": "kyiv-20261021-sviatoshynskyi-2-killed",
         "url": "https://kyivindependent.com/russian-attacks-kill-at-least-9-wound-45-across-ukraine-as-yet-another-deadly-drone-attack-strikes-kyiv/",
         "text": "at least 2 killed, 2 injured"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kyiv (Dniprovskyi, Darnytskyi, Pecherskyi, Sviatoshynskyi districts) (EST)",
       "lo": 6,
       "hi": 6,
       "refs": [
        {
         "id": "kyiv-20261021-ballistic-night-attack",
         "url": "https://kyivindependent.com/russian-ballistic-missiles-rock-kyiv-in-late-night-attack-injuring-6/",
         "text": "Kyiv Independent: RU ballistic missiles struck multiple locations in Kyiv on the night of 21–22 Oct, injuring six"
        }
       ]
      },
      {
       "date": "2026-10-23",
       "loc": "Ukraine-wide (pinned Lozova, EST)",
       "lo": 46.0,
       "hi": 67.0,
       "refs": [
        {
         "id": "ki-20261023-energy-8-killed-67",
         "url": "https://kyivindependent.com/energy-facilities-across-ukraine-targeted-as-russian-attacks-kill-at-least-8-injure-67-over-past-day/",
         "text": "KI: Russian attacks killed 8 and wounded 67 over the past day"
        },
        {
         "id": "ki-20261023-energy-8-killed-67",
         "url": "https://kyivindependent.com/energy-facilities-across-ukraine-targeted-as-russian-attacks-kill-at-least-8-injure-67-over-past-day/",
         "text": "Lozova market attack accounts for most of 46 injured in Kharkiv obl"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: ukrinform_news",
     "low": 37.0,
     "high": 37.0,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Nova Vodolaha, Kharkiv obl. (EST)",
       "lo": 15.0,
       "hi": 15.0,
       "refs": [
        {
         "id": "ukrinform-20261019-nova-vodolaha-first-report",
         "url": "https://t.me/ukrinform_news/171794",
         "text": "two women and an infant killed, at least 15 injured incl. 7 children"
        }
       ]
      },
      {
       "date": "2026-10-22",
       "loc": "Kyiv (six districts) (EST)",
       "lo": 22.0,
       "hi": 22.0,
       "refs": [
        {
         "id": "ukrinform-20261022-kyiv-night-attack-1-killed-22-injured",
         "url": "https://t.me/ukrinform_news/171930",
         "text": "Ukrinform: Russian overnight attack on Kyiv killed one person and injured 22"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: Ukrinform",
     "low": 12,
     "high": 12,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Kherson oblast (EST — plotted Kherson city)",
       "lo": 7,
       "hi": 7,
       "refs": [
        {
         "id": "kherson-20261019-7-injured",
         "url": "https://www.ukrinform.net/rubric-ato/4176028-russian-attacks-in-kherson-region-injure-seven-people-over-past-day.html",
         "text": "Ukrinform: RU attacks in Kherson region injured seven people over the past day"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Sloviansk centre, Donetsk obl. (EST)",
       "lo": 5,
       "hi": 5,
       "refs": [
        {
         "id": "sloviansk-20261021-centre-strike-5-injured",
         "url": "https://www.ukrinform.net/rubric-ato/4176822-russian-strike-on-sloviansk-injures-five-including-two-children.html",
         "text": "Ukrinform / Sloviansk MA head Vadym Liakh: RU strike on the centre of Sloviansk around 17:00 local injured five, including two boys aged 7 and 13. Unverified / EST"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: Interfax-Ukraine",
     "low": 3.0,
     "high": 3.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Khmelnytskyi city (EST)",
       "lo": 3.0,
       "hi": 3.0,
       "refs": [
        {
         "id": "khmelnytskyi-20261019-2-killed",
         "url": "https://interfax.com.ua/news/general/1222811.html",
         "text": "3 injured reported earlier"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: suspilnenews",
     "low": 3.0,
     "high": 75.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": true,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Ukraine-wide (EST — plotted Kharkiv obl.)",
       "lo": 3.0,
       "hi": 75.0,
       "refs": [
        {
         "id": "suspilne-20261019-daily-toll-14-killed",
         "url": "https://t.me/suspilnenews/77817",
         "text": "Suspilne daily roll-up 19 Oct: at least 14 killed and more than 75 injured by RU attacks"
        },
        {
         "id": "suspilne-20261019-daily-toll-14-killed",
         "url": "https://t.me/suspilnenews/77817",
         "text": "Kherson obl. 7 injured, Rivne 3 injured"
        },
        {
         "id": "suspilne-20261019-daily-toll-14-killed",
         "url": "https://t.me/suspilnenews/77817",
         "text": "Kherson obl. 7 injured, Rivne 3 injured"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_casualties_unspec",
     "category": "Civilians",
     "label": "Civilian casualties (split not stated)",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 7,
     "high": 7,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Vinnytsia region (EST — plotted Vinnytsia)",
       "lo": 7,
       "hi": 7,
       "refs": [
        {
         "id": "ukrinform-20261018-vinnytsia-critical-facility",
         "url": "https://www.ukrinform.net/rubric-ato/4175695-russian-forces-launch-another-attack-on-critical-infrastructure-in-vinnytsia-region.html",
         "text": "seven casualties"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:drones",
     "category": "Equipment / infrastructure",
     "label": "Drones / UAVs",
     "claimant": "RU MoD",
     "low": 4,
     "high": 4,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Belgorod/Bryansk/Kursk/Oryol/Vologda/Krasnodar + Black Sea (EST — plotted Belgorod)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261017-day-ad-30-uav",
         "url": "https://t.me/mod_russia/68305",
         "text": "RF MoD: 30 Ukrainian fixed-wing UAVs downed 08:00–20:00 MSK over Belgorod, Bryansk, Vologda, Kursk, Oryol oblasts, Krasnodar Krai and the Black Sea"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Dnipropetrovsk direction (EST — places not stated; plotted Mezhova area)",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "rfmod-20261019-tsentr-3-uav-cps-dnipro-dir",
         "url": "https://t.me/mod_russia/68354",
         "text": "RF MoD: unmanned-systems crews of the Tsentr group of forces destroyed three AFU UAV control points on the Dnipropetrovsk direction (places not named)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:drones",
     "category": "Equipment / infrastructure",
     "label": "Drones / UAVs",
     "claimant": "Russian regional officials",
     "low": 258.0,
     "high": 258.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Kursk obl. (RU) (EST — plotted Kursk)",
       "lo": 258.0,
       "hi": 258.0,
       "refs": [
        {
         "id": "kursk-gov-20261019-258-uav",
         "url": "https://t.me/dva_majors/100671",
         "text": "Kursk governor (relayed by Two Majors): 258 UA UAVs downed 09:00 18→19 Oct"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:drones",
     "category": "Equipment / infrastructure",
     "label": "Drones / UAVs",
     "claimant": "Russian military units / milbloggers",
     "low": 17.0,
     "high": 17.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-23",
       "loc": "Moscow region airports (EST)",
       "lo": 17.0,
       "hi": 17.0,
       "refs": [
        {
         "id": "tg-interfax-20261023-moscow-drones-airports",
         "url": "https://t.me/boris_rozhin/230692",
         "text": "Sobyanin (relayed by Colonelcassad / RIA): 17 drones flying at Moscow downed during the day"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:artillery",
     "category": "Equipment / infrastructure",
     "label": "Artillery / MLRS / launchers",
     "claimant": "Media report: Ukrainska Pravda",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Kherson obl. — left bank (location not stated; EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "up-20261017-lasar-smerch-kherson",
         "url": "https://www.pravda.com.ua/eng/news/2026/10/17/8058526/",
         "text": "Ukrainska Pravda: NGU special-forces detachment Lasar's Group destroyed a Russian BM-30 Smerch launcher and its transporter-loader in Kherson Oblast (video)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:vehicles",
     "category": "Equipment / infrastructure",
     "label": "Vehicles / special equipment",
     "claimant": "RU MoD",
     "low": 2,
     "high": 2,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-22",
       "loc": "Khotiv (Kyiv obl.) / Zhytomyr (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "rfmod-20261022-substations-khotiv-zhytomyr",
         "url": "https://t.me/mod_russia/68442",
         "text": "RF MoD claims daytime drone strikes hit the 330 kV 'Novokyivska' substation in Khotiv (Kyiv obl.) and the 330 kV 'Zhytomyrska' substation in Zhytomyr, plus two cargo ships bound for Odesa/Chornomorsk"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:ships",
     "category": "Equipment / infrastructure",
     "label": "Ships / vessels",
     "claimant": "RU MoD",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Kryvyi Rih / Zaporizhzhia / Zhytomyr (EST — plotted Kryvyi Rih)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261017-itogi-kryvyi-rih-zp-zhytomyr",
         "url": "https://t.me/mod_russia/68307",
         "text": "dry-cargo ships hit"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Black Sea ~50 km SW of Odesa port (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261018-day-ship-50km-sw-odesa",
         "url": "https://t.me/mod_russia/68329",
         "text": "RF MoD: daytime UAV strike hit a dry-cargo ship ~50 km south-west of Odesa port said to carry military and dual-use cargo"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "RU MoD",
     "low": 5,
     "high": 5,
     "nClaims": 5,
     "nEvents": 5,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Lutsk / Kolodne (Ternopil obl.) / Black Sea 40 km S of Odesa (EST — plotted Lutsk)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261017-day-strikes-lutsk-kolodne-ship",
         "url": "https://t.me/mod_russia/68303",
         "text": "RF MoD: daytime UAV strikes hit a \"Kromberg & Schubert\" plant in Lutsk said to repair AFU vehicles, an electrical substation in Kolodne (Ternopil obl.), and a dry-cargo ship 40 km south of Odesa port carrying military/dual-use cargo"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Kremenets district (Ternopil) / Chernihiv district (EST — plotted Chernihiv)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261017-ternopil-chernihiv-energy",
         "url": "https://www.ukrinform.net/rubric-ato/4175508-russian-strike-on-energy-facility-in-chernihiv-region-leaves-nearly-19000-customers-without-power.html",
         "text": "Ternopiloblenergo: another strike on an energy facility, part of Kremenets district without power (RF MoD claims Kolodne substation)"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Kryvyi Rih / Zaporizhzhia / Zhytomyr (EST — plotted Kryvyi Rih)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261017-itogi-kryvyi-rih-zp-zhytomyr",
         "url": "https://t.me/mod_russia/68307",
         "text": "RF MoD day summary: massed strike on metallurgical plants, a transformer plant and an energy facility in Kryvyi Rih, Zaporizhzhia and Zhytomyr"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Poltava (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "mod-20261021-overnight-strikes-poltava-nyvky-ship",
         "url": "https://t.me/mod_russia/68385",
         "text": "RF MoD: overnight UAV strikes on logistics centres, port infrastructure and substations"
        }
       ]
      },
      {
       "date": "2026-10-22",
       "loc": "Khotiv (Kyiv obl.) / Zhytomyr (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261022-substations-khotiv-zhytomyr",
         "url": "https://t.me/mod_russia/68442",
         "text": "RF MoD claims daytime drone strikes hit the 330 kV 'Novokyivska' substation in Khotiv (Kyiv obl.) and the 330 kV 'Zhytomyrska' substation in Zhytomyr, plus two cargo ships bound for Odesa/Chornomorsk"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 5,
     "high": 5,
     "nClaims": 5,
     "nEvents": 5,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Chortkiv / Kremenets district, Ternopil obl. (EST — plotted Chortkiv)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261018-ternopil-chortkiv-19k",
         "url": "https://www.ukrinform.net/rubric-ato/4175721-russian-attacks-leave-19000-consumers-without-power-in-ternopil-region.html",
         "text": "Ternopil RMA head Pastukh: UAV attacks over 24 h hit a large enterprise in Chortkiv and several energy facilities in Kremenets district"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Lviv obl. — critical energy object (EST — exact place not stated; plotted Lviv)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "lviv-20261019-energy-object-drone-x2",
         "url": "https://suspilne.media/lviv/1431731-na-lvivsini-pid-cas-povitranoi-trivogi-19-zovtna-pracuvala-ppo/",
         "text": "Suspilne Lviv citing OVA head Kozytskyi: on the evening of 19 Oct an RU drone attacked a critical energy infrastructure object in Lviv oblast, then struck the same object again ~40 min later"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Holosiivskyi district, Kyiv (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kyiv-20261020-drone-gas-station-holosiivskyi",
         "url": "https://www.ukrinform.net/rubric-ato/4176338-russian-drone-attacks-kill-one-injure-seven-in-kyiv.html",
         "text": "Ukrinform / Klitschko: during a daytime RU jet-drone attack on Kyiv a UAV crashed near a gas station on the border with Kyiv oblast (Holosiivskyi district)"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Ivano-Frankivsk obl. (EST — plotted oblast seat; facility not named)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ivano-frankivsk-20261020-energy-repeat",
         "url": "https://www.pravda.com.ua/eng/news/2026/10/20/8058939/",
         "text": "Ukrainska Pravda / Ivano-Frankivsk OVA head Onyshchuk: RU forces attacked an energy facility in Ivano-Frankivsk Oblast twice in one day"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Kyiv — Shevchenkivskyi and other districts (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kyiv-20261020-daytime-drones-energy-1-killed-12-injured",
         "url": "https://www.ukrinform.net/rubric-ato/4176435-russian-attacks-leave-one-dead-12-injured-in-kyiv-since-midnight.html",
         "text": "Klitschko reported a strike on an energy facility in Shevchenkivskyi district (DTEK: parts of 4 districts without power"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Russian military units / milbloggers",
     "low": 3,
     "high": 3,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "Nyvky 330 kV substation, Kyiv (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "milinfo-20261020-kyiv-nyvky-substation",
         "url": "https://t.me/milinfolive/181831",
         "text": "Military Informant (RU milblogger): after \"Geran\" hits on the 330 kV \"Nyvky\" substation in Kyiv, metro and surface electric transport stopped and power went out even in the Verkhovna Rada"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Lviv obl. — near border crossings, Yavoriv district substations (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rybar-20261020-lviv-border-substations",
         "url": "https://t.me/rybar/84051",
         "text": "Rybar: RU forces struck near border crossings in Lviv obl. and substations in Yavoriv district (about ten hits, outages)"
        },
        {
         "id": "rybar-20261020-lviv-border-substations",
         "url": "https://t.me/rybar/84051",
         "text": "evening strike on Kyiv's Nyvky substation stopped the metro"
        }
       ]
      },
      {
       "date": "2026-10-22",
       "loc": "Dnipro — Prydniprovska TPP (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kotenok-20261022-dnipro-prydniprovska-tpp",
         "url": "https://t.me/voenkorKotenok/76805",
         "text": "RU milblogger Kotenok: new explosions in Dnipro, preliminarily hits on transformers of the Prydniprovska thermal power plant"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Ukrainian President / Cabinet",
     "low": 1,
     "high": 1,
     "nClaims": 2,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Kyiv and Kyiv oblast (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "zelensky-20261019-16-ballistic-kyiv",
         "url": "https://t.me/V_Zelenskiy_official/21425",
         "text": "energy facilities hit in 11 oblasts, >10 energy objects damaged, at least 550,000 families without power"
        },
        {
         "id": "zelensky-20261019-28-substations-starlink",
         "url": "https://t.me/V_Zelenskiy_official/21435",
         "text": "Zelensky after a regional call: 28 substations and other important energy facilities hit in the latest wave"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Media report: Ukrainska Pravda",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Manevychi, Volyn obl. (EST — also Staryi Vyshnivets / Ternopil obl., Malekhiv / Lviv obl.)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "up-20261018-western-ukraine-strikes",
         "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058579/",
         "text": "Ukrainska Pravda / Kyiv Independent (Romaniuk): Russian drones struck an industrial facility in Manevychi (Volyn) causing a large fire (second strike in 3 days), an energy facility near Staryi Vyshnivets (Ternopil) leaving consumers without power"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Media report: dva_majors",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "Novoyavorivsk, Lviv obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "dvamajors-20261020-lviv-novoyavorivsk-energy",
         "url": "https://t.me/dva_majors/100739",
         "text": "Two Majors: RU jet UAVs struck energy facilities in Lviv obl"
        },
        {
         "id": "dvamajors-20261020-lviv-novoyavorivsk-energy",
         "url": "https://t.me/dva_majors/100739",
         "text": "(several hits in Novoyavorivsk, Yavoriv substation repeatedly)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 42,
     "high": 42,
     "nClaims": 45,
     "nEvents": 42,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Zaporizhzhia (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "zoda-20261017-zaporizhzhia-strike",
         "url": "https://t.me/zoda_gov_ua/68450",
         "text": "Zaporizhzhia OVA: strike on open ground among residential buildings in Zaporizhzhia"
        },
        {
         "id": "zoda-20261017-zaporizhzhia-strike",
         "url": "https://t.me/zoda_gov_ua/68450",
         "text": "apartment blocks damaged, cars burned, two injured"
        },
        {
         "id": "zoda-20261017-zaporizhzhia-strike",
         "url": "https://t.me/zoda_gov_ua/68450",
         "text": "later homes damaged in Voznesenivskyi, Dniprovskyi and Zavodskyi districts"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Kherson, Korabelnyi district (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kherson-ova-20261017-kab-korabelnyi",
         "url": "https://t.me/khersonskaODA/69755",
         "text": "ten apartment buildings damaged"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Poltava (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "suspilne-20261017-poltava-drones-1k",
         "url": "https://t.me/suspilnenews/77701",
         "text": "4 private houses damaged (RBC-Ukraine)"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Zaporizhzhia (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "zoda-20261017-zaporizhzhia-residential-1k",
         "url": "https://t.me/zoda_gov_ua/68475",
         "text": "Zaporizhzhia OVA: residential building hit in Zaporizhzhia late Oct 17"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Sloviansk, Donetsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "up-20261018-sloviansk-6-killed",
         "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058595/",
         "text": "20+ houses damaged"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Odesa (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261018-odesa-apartment-energy",
         "url": "https://www.ukrinform.net/rubric-ato/4175622-russian-forces-hit-apartment-building-in-odesa-injure-child.html",
         "text": "Odesa city MA head Lysak (via Ukrinform): strike on a high-rise residential building, roof fire, 13-year-old girl injured"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Saltivskyi district, Kharkiv (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kharkiv-20261018-saltivskyi-uav",
         "url": "https://interfax.com.ua/news/general/1222090.html",
         "text": "Kharkiv Mayor Terekhov (via Interfax-Ukraine): a RU UAV hit the roof of a 16-storey building in Saltivskyi district"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Kyiv — Desnianskyi / Dniprovskyi districts (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kyiv-20261018-ballistic-medcentre",
         "url": "https://t.me/suspilnenews/77750",
         "text": "Kyiv Mayor Klitschko (via Suspilne / Kyiv Independent): ~23:00 Kyiv time 18 Oct RU ballistic strike hit a medical centre in Desnianskyi district and a non-residential building in Dniprovskyi district"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kyiv — left-bank metro (Chernihivska/Lisova) & Solomianskyi (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kyiv-20261019-ballistic-metro-solomianskyi",
         "url": "https://t.me/suspilnenews/77764",
         "text": "missile debris hit the first floor of a 25-storey building in Solomianskyi district (3 injured, treated on site) and a non-residential building"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Dnipro city + Nikopol district (EST — plotted Dnipro)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "dnipro-ova-20261019-0800",
         "url": "https://t.me/dnipropetrovskaODA/32672",
         "text": "in Dnipro infrastructure and private houses damaged, three homes destroyed, an 84-year-old woman hospitalised"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kherson oblast right bank (EST — plotted Kherson)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kherson-ova-20261019-daily",
         "url": "https://t.me/khersonskaODA/69854",
         "text": "4 private houses damaged, 1 child injured"
        },
        {
         "id": "kherson-20261019-24-settlements-child-injured",
         "url": "https://www.ukrinform.net/rubric-society/4175791-russian-shelling-in-kherson-region-injures-child-as-forces-attack-over-20-settlements-in-past-24-hours.html",
         "text": "a child injured, four private homes damaged"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kyiv — Desnianskyi, Solomianskyi, Dniprovskyi districts (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kyiv-20261019-dsns-toll-1-killed-8-injured",
         "url": "https://t.me/suspilnenews/77772",
         "text": "fire in a 3-storey non-residential building in Desnianskyi, a metro station damaged"
        },
        {
         "id": "kyiv-20261019-dsns-toll-1-killed-8-injured",
         "url": "https://t.me/suspilnenews/77772",
         "text": "Later reports: Cosmo Multimall (Shuliavka) heavily damaged, ice arena \"Shalett\" and NEURC building damaged"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kushuhum, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kushuhum-20261019-kab-1-killed",
         "url": "https://t.me/zoda_gov_ua/68505",
         "text": "a 57-year-old man killed, nearby private houses damaged"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Irpin, Kyiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "irpin-20261019-1-killed-19-injured",
         "url": "https://www.ukrinform.net/rubric-ato/4175969-russian-attack-on-irpin-kills-one-person-and-injures-19-including-nine-children.html",
         "text": "86 structures damaged (~70 private homes, 5 high-rises)"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Sumy — Zarichnyi district apartment building (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "sumy-20261020-zarichnyi-apartment-drone",
         "url": "https://interfax.com.ua/news/general/1222846.html",
         "text": "Interfax-Ukraine / RBC-Ukraine: acting Sumy mayor Artem Kobzar says a RU drone hit an apartment building at about 02:00 local on 20 Oct (Zarichnyi district per RBC)"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Zaporizhzhia obl. (EST — plotted Zaporizhzhia city)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "zaporizhzhia-ova-20261020-848-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49077",
         "text": "Later on 20 Oct a strike on a warehouse in Zaporizhzhia injured two"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Obukhiv district, Kyiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kyivobl-20261019-obukhiv-warehouse-3-killed",
         "url": "https://t.me/suspilnenews/77836",
         "text": "Suspilne / DSNS: three people killed and six injured in a RU strike on a production-and-warehouse building in Obukhiv district, Kyiv obl., on the evening of 19 Oct"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Dubno, Rivne obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rivne-20261020-dubno-shopping-centre",
         "url": "https://t.me/RBC_ua_news/209388",
         "text": "RBC-Ukraine / Rivne OVA: a RU strike hit a shopping centre in Dubno, three injured (two hospitalised)"
        },
        {
         "id": "rivne-20261020-dubno-shopping-centre",
         "url": "https://t.me/RBC_ua_news/209388",
         "text": "RU channels show a jet Geran hitting an Epicentr store in Dubno"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Dnipro suburbs (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "dnipro-ova-20261020-warehouses-2-killed",
         "url": "https://t.me/dnipropetrovskaODA/32717",
         "text": "Dnipropetrovsk OVA (Hanzha): two people killed and three injured (one 27-year-old with severe burns) in a RU attack on warehouses in the Dnipro suburbs"
        },
        {
         "id": "dnipro-ova-20261020-warehouses-2-killed",
         "url": "https://t.me/dnipropetrovskaODA/32717",
         "text": "RU channels show Geran strikes on \"Nova Liniia\" building-hypermarket warehouses in Dnipro"
        },
        {
         "id": "dnipro-ova-20261020-1830-summary",
         "url": "https://t.me/dnipropetrovskaODA/32725",
         "text": "warehouses and infrastructure damaged in Dnipro (2 killed, 4 injured)"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Holosiivskyi district, Kyiv (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kyiv-20261020-drone-gas-station-holosiivskyi",
         "url": "https://www.ukrinform.net/rubric-ato/4176338-russian-drone-attacks-kill-one-injure-seven-in-kyiv.html",
         "text": "debris fell on a medical facility and rail tracks in Solomianskyi district"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Korabelnyi district, Kherson (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kherson-20261020-korabelnyi-4-injured",
         "url": "https://t.me/khersonskaODA/69974",
         "text": "Kherson OVA: around 16:00 RU shelling of Kherson's Korabelnyi district hit a house"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Pisky-Radkivski, Borova hromada, Kharkiv obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kharkiv-20261020-pisky-radkivski-10-kab",
         "url": "https://suspilne.media/kharkiv/1432599-rf-skinula-blizko-10-kabiv-na-piski-radkivski-na-harkivsini-poranena-pensionerka/",
         "text": "an 80-year-old woman injured, at least six houses damaged or destroyed"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Pervomaisk, Mykolaiv obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "mykolaiv-20261020-pervomaisk-epicentr",
         "url": "https://www.ukrinform.net/rubric-ato/4176470-russian-forces-strike-epicentr-shopping-center-in-pervomaisk-injuring-two-women.html",
         "text": "Ukrinform / Mykolaiv OVA acting head Reshetilov: a RU UAV struck the Epicentr shopping centre in Pervomaisk (Mykolaiv obl.) in the evening"
        },
        {
         "id": "mykolaiv-20261020-pervomaisk-8-injured",
         "url": "https://www.ukrinform.net/rubric-ato/4176498-injury-toll-from-russian-strike-on-epicentr-shopping-mall-in-pervomaisk-rises-to-eight.html",
         "text": "Ukrinform / Mykolaiv OVA acting head Reshetilov: injury toll from the RU drone strike on the Epicentr shopping centre in Pervomaisk rose to eight (five women, three men)"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Novobavarskyi district, Kharkiv",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kharkiv-20261020-novobavarskyi-dsns-9-injured",
         "url": "https://t.me/ukrinform_news/171853",
         "text": "two strikes on residential and civilian infrastructure in Novobavarskyi district, one private house destroyed"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Kramatorsk, Donetsk obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kramatorsk-20261020-3-killed-2-injured-up",
         "url": "https://www.pravda.com.ua/eng/news/2026/10/21/8058891/",
         "text": "Ukrainska Pravda / Donetsk Oblast Prosecutor's Office: a RU attack on Kramatorsk on 20 Oct killed three civilians and injured two, damaging three multi-storey residential buildings"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kyiv (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kyiv-20261020-evening-21-injured",
         "url": "https://interfax.com.ua/news/general/1223541.html",
         "text": "Evening strikes hit Sviatoshynskyi (garage cooperative) and Desnianskyi (warehouse) districts"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Korotych, Kharkiv raion (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kharkiv-20261021-korotych-2-killed",
         "url": "https://t.me/synegubov/26824",
         "text": "13 private houses damaged"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Nikopol district, Dnipropetrovsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "dnipro-ova-20261021-0730-summary",
         "url": "https://t.me/dnipropetrovskaODA/32726",
         "text": "1 injured (Nikopol area), houses, cars and an enterprise damaged"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kherson (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kherson-20261021-daily-13-injured",
         "url": "https://t.me/khersonskaODA/69986",
         "text": "9 private houses damaged"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Zhovkva hromada, Lviv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "lviv-20261021-zhovkva-enterprise",
         "url": "https://t.me/suspilnenews/77932",
         "text": "two workers injured, a private house damaged"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kramatorsk (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "donetsk-20261021-filashkin-kramatorsk-4-killed",
         "url": "https://t.me/VadymFilashkin/18794",
         "text": "Donetsk OVA (Filashkin) morning 21 Oct: in Kramatorsk 4 killed and 6 injured (15 apartment blocks, 2 schools damaged)"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Bucha district, Kyiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kyiv-obl-20261021-bucha-district-1-killed",
         "url": "https://t.me/RBC_ua_news/209469",
         "text": "fire at a production building and dormitory"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Sloviansk (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "sloviansk-20261021-final-toll-7",
         "url": "https://www.ukrinform.net/rubric-ato/4176644-seven-killed-in-sloviansk-as-rescue-workers-spend-five-days-clearing-rubble.html",
         "text": "Ukrinform / SES: rescue operation in Sloviansk after the 17 Oct FAB strike on two five-storey buildings ended after five days"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Uman, Cherkasy obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "uman-20261021-epicentr-5-injured",
         "url": "https://www.ukrinform.net/rubric-ato/4176710-injury-toll-in-russian-attack-on-uman-rises-to-five.html",
         "text": "Ukrinform / SES: injury toll from RU drone attacks on Uman rose to five (2 hospitalised)"
        },
        {
         "id": "uman-20261021-epicentr-5-injured",
         "url": "https://www.ukrinform.net/rubric-ato/4176710-injury-toll-in-russian-attack-on-uman-rises-to-five.html",
         "text": "an Epicentr hypermarket, hotel, university dormitory and houses damaged"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Rivne (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rivne-20261021-metro-store",
         "url": "https://t.me/RBC_ua_news/209501",
         "text": "RBC-Ukraine / Rivne OVA: RU attack hit a Metro retail store in Rivne"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kropyvnytskyi district, Kirovohrad obl. (EST — district)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kirovohrad-20261021-kropyvnytskyi-warehouses",
         "url": "https://www.ukrinform.net/rubric-ato/4176848-russian-forces-attack-warehouses-in-kropyvnytskyi-district.html",
         "text": "Ukrinform / Kirovohrad OVA head Andrii Raikovych: another RU attack on warehouses in Kropyvnytskyi district"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kharkiv, Slobidskyi district (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kharkiv-20261021-jet-drone-slobidskyi",
         "url": "https://t.me/RBC_ua_news/209534",
         "text": "outbuilding on fire, several homes damaged, no casualties"
        }
       ]
      },
      {
       "date": "2026-10-22",
       "loc": "Dnipro (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261022-dnipro-residential-strike",
         "url": "https://www.ukrinform.net/rubric-ato/4177045-russian-forces-strike-residential-area-in-dnipro.html",
         "text": "Ukrinform citing Dnipropetrovsk OVA head Oleksandr Hanzha: Russian attack on Dnipro hit a residential area, several fires"
        }
       ]
      },
      {
       "date": "2026-10-22",
       "loc": "Zhytomyr community, Zhytomyr obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261022-zhytomyr-house-9-injured",
         "url": "https://www.ukrinform.net/rubric-ato/4177211-russian-drone-hits-house-in-zhytomyr-region-injuring-nine-including-children.html",
         "text": "Ukrinform citing Zhytomyr OVA head Vitalii Bunechko: a Shahed drone hit a private house in the Zhytomyr community, injuring nine incl. two children"
        }
       ]
      },
      {
       "date": "2026-10-22",
       "loc": "Zaporizhzhia city (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261022-zaporizhzhia-house-strike-3-killed",
         "url": "https://www.ukrinform.net/rubric-ato/4177275-death-toll-from-russian-strike-on-zaporizhzhia-rises-to-three.html",
         "text": "Ukrinform citing acting Zaporizhzhia OVA head Mykhailo Semikin: death toll from a Russian strike on a private house in Zaporizhzhia rose to three"
        }
       ]
      },
      {
       "date": "2026-10-23",
       "loc": "Nikopol & Synelnykove districts, Dnipro, Pavlohrad (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-suspilne-20261023-dnipro-nikopol",
         "url": "https://t.me/suspilnenews/78056",
         "text": "infrastructure, an admin building and a house damaged in Dnipro and Pavlohrad"
        }
       ]
      },
      {
       "date": "2026-10-23",
       "loc": "Kharkiv (Osnovianskyi / Slobidskyi) and Zlatopil, Kharkiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261023-kharkiv-zlatopil-strikes",
         "url": "https://www.ukrinform.net/rubric-ato/4177430-russian-strikes-hit-kharkiv-zlatopil-and-nova-vodolaha-sparking-fires-and-causing-damage.html",
         "text": "Ukrinform: strikes on Kharkiv (Slobidskyi and Osnovianskyi districts), two missiles on Zlatopil, a \"Banderol\" missile on Nova Vodolaha, warehouse fire in Bezliudivka"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "RU MoD",
     "low": 6,
     "high": 6,
     "nClaims": 7,
     "nEvents": 6,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Novomoskovsk, Dnipropetrovsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261018-novomoskovsk-warehouse",
         "url": "https://t.me/mod_russia/68333",
         "text": "RF MoD: Rubikon Center crews hit a warehouse with supplies for UA forces in Novomoskovsk, north-east of Dnipro"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kyiv + Irpin, Kyiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261019-kyiv-strike-targets",
         "url": "https://t.me/mod_russia/68342",
         "text": "RF MoD: overnight massive strike hit in Kyiv the \"Data Group\" data centre, the Fire Point logistics hub (claimed UAV components and FP-5 Flamingo engines), the Khimvolokno plant (claimed UAV warhead components) and the Kyiv locomotive depot (claimed FP-5/FP-9 "
        },
        {
         "id": "datagroup-20261019-kyiv-dc-destroyed",
         "url": "https://t.me/RBC_ua_news/209259",
         "text": "RBC-Ukraine relaying Datagroup: a RU ballistic strike destroyed the Datagroup data centre in Kyiv"
        },
        {
         "id": "datagroup-20261019-kyiv-dc-destroyed",
         "url": "https://t.me/RBC_ua_news/209259",
         "text": "RF MoD lists the \"Data Group\" data centre among its targets"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Omelnyk, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261019-itogi-omelnyk-velykomykhailivka",
         "url": "https://t.me/mod_russia/68356",
         "text": "massed strike on defence industry, cruise-missile/UAV storage and a data centre claimed"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Dubno, Rivne obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261020-dubno-epicentr-k",
         "url": "https://t.me/mod_russia/68375",
         "text": "claims hit on the \"Epicentr-K\" logistics centre in Dubno (Rivne obl.), alleging its warehouse complex is used by the AFU. Unverified / EST"
        }
       ]
      },
      {
       "date": "2026-10-22",
       "loc": "Kyiv (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261022-night-strike-kyiv-antonov",
         "url": "https://t.me/mod_russia/68427",
         "text": "RF MoD claims overnight massed precision/drone strike on Ukrainian defence-industry sites incl. the Antonov assembly plant and a 'Khladokombinat No.3' warehouse complex in Kyiv, plus Odesa-region port infrastructure"
        }
       ]
      },
      {
       "date": "2026-10-23",
       "loc": "Oleshky, Kherson obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tass-20261023-oleshky-house-of-culture",
         "url": "https://t.me/tass_agency/401844",
         "text": "TASS: a platoon commander of the 331st Regiment (98th VDV Div, Dnepr GoF), call sign 'Leska', says Ukrainian forces destroyed the House of Culture in Oleshky with aerial bombs"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: Kyiv Independent",
     "low": 3,
     "high": 3,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-21",
       "loc": "Sviatoshynskyi district, Kyiv (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kyiv-20261021-sviatoshynskyi-2-killed",
         "url": "https://kyivindependent.com/russian-attacks-kill-at-least-9-wound-45-across-ukraine-as-yet-another-deadly-drone-attack-strikes-kyiv/",
         "text": "Kyiv Independent / KMVA: early 21 Oct RU drone attack hit a 24-storey residential building (fire on 20th floor) in Kyiv"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kyiv (Dniprovskyi, Darnytskyi, Pecherskyi, Sviatoshynskyi districts) (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kyiv-20261021-ballistic-night-attack",
         "url": "https://kyivindependent.com/russian-ballistic-missiles-rock-kyiv-in-late-night-attack-injuring-6/",
         "text": "a car service station and homes hit in Dniprovskyi, missiles hit near a transport facility in Darnytskyi"
        },
        {
         "id": "kyiv-20261021-ballistic-night-attack",
         "url": "https://kyivindependent.com/russian-ballistic-missiles-rock-kyiv-in-late-night-attack-injuring-6/",
         "text": "later a medical facility (Pecherskyi) and a restaurant fire (Sviatoshynskyi)"
        }
       ]
      },
      {
       "date": "2026-10-23",
       "loc": "Ukraine-wide (pinned Lozova, EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ki-20261023-energy-8-killed-67",
         "url": "https://kyivindependent.com/energy-facilities-across-ukraine-targeted-as-russian-attacks-kill-at-least-8-injure-67-over-past-day/",
         "text": "Lozova market attack accounts for most of 46 injured in Kharkiv obl"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: suspilnenews",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Sumy city (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "suspilne-20261018-sumy-highrise",
         "url": "https://t.me/suspilnenews/77747",
         "text": "Suspilne evening roundup: RU forces struck a multi-storey building in Sumy"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Chernihiv (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "suspilne-20261018-chernihiv-lyceum",
         "url": "https://t.me/suspilnenews/77747",
         "text": "Suspilne evening roundup: a RU UAV hit the grounds of a military lyceum in Chernihiv"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: Ukrainska Pravda",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Manevychi, Volyn obl. (EST — also Staryi Vyshnivets / Ternopil obl., Malekhiv / Lviv obl.)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "up-20261018-western-ukraine-strikes",
         "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058579/",
         "text": "UP/Ukrinform: logistics complex / warehouse fire in Malekhiv (Lviv obl.)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: Interfax-Ukraine",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Khmelnytskyi city (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "khmelnytskyi-20261019-2-killed",
         "url": "https://interfax.com.ua/news/general/1222811.html",
         "text": "Interfax-Ukraine (oblast administration): two elderly women killed in a RU attack on residential buildings in Khmelnytskyi"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: Suspilne Lutsk",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Kovel, Volyn obl. — Epicentr hypermarket (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kovel-20261019-epicentr-fire",
         "url": "https://suspilne.media/lutsk/1431723-vnaslidok-ataki-rf-u-koveli-stalasa-pozeza-na-teritorii-budivelnogo-gipermarketu/",
         "text": "Suspilne Lutsk: on the evening of 19 Oct an RU drone attack caused a fire at the Epicentr building-supplies hypermarket in Kovel (per local residents)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: ukrinform_news",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-21",
       "loc": "Dniprovskyi district, Kyiv (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kyiv-20261021-dniprovskyi-evening-strike",
         "url": "https://t.me/ukrinform_news/171919",
         "text": "Ukrinform / Kyiv MA: evening RU strike damaged private houses in Kyiv's Dniprovskyi district and a petrol station at another location"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: Ukrinform",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-22",
       "loc": "Hlukhiv, Sumy obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261022-hlukhiv-hospital-uav",
         "url": "https://www.ukrinform.net/rubric-ato/4177070-russian-drone-hits-hospital-in-hlukhiv.html",
         "text": "Ukrinform: a Russian drone struck the municipal hospital in Hlukhiv on the evening of 21 Oct, damaging the facade and windows"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Ukrainian President / Cabinet",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-22",
       "loc": "Lozova central market, Kharkiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261022-lozova-market-2-killed-36-injured",
         "url": "https://www.ukrinform.net/rubric-ato/4177265-russian-strike-on-lozova-market-two-killed-injury-toll-rises-to-36.html",
         "text": "Ukrinform citing Lozova community head Serhii Zelensky: Russian strike on Lozova central market (Shahed-type drones and a Banderol-type drone missile) killed two and injured 36"
        },
        {
         "id": "ukrinform-20261022-lozova-market-2-killed-36-injured",
         "url": "https://www.ukrinform.net/rubric-ato/4177265-russian-strike-on-lozova-market-two-killed-injury-toll-rises-to-36.html",
         "text": "church and ~200 apartments damaged"
        }
       ]
      }
     ]
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 61,
     "high": 61,
     "nClaims": 70,
     "nEvents": 61,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Ukrainian military units / commands",
     "low": 7,
     "high": 7,
     "nClaims": 9,
     "nEvents": 7,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Ukrinform",
     "low": 4,
     "high": 4,
     "nClaims": 4,
     "nEvents": 4,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Kyiv Independent",
     "low": 4,
     "high": 4,
     "nClaims": 4,
     "nEvents": 4,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Ukrainian President / Cabinet",
     "low": 3,
     "high": 3,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: suspilnenews",
     "low": 3,
     "high": 3,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: ukrinform_news",
     "low": 3,
     "high": 3,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: RBC_ua_news",
     "low": 3,
     "high": 3,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: dva_majors",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Ukraine GenStaff / MoD",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "RU MoD",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Russian military units / milbloggers",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Ukrainska Pravda",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Interfax-Ukraine",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Suspilne Lutsk",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Kyiv Post",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Suspilne Sumy",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Suspilne Zaporizhzhia",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "mun:drones",
     "category": "Strikes launched against",
     "label": "Launched against: Drones launched/engaged",
     "claimant": "Ukrainian military units / commands",
     "low": 1109.0,
     "high": 1109.0,
     "nClaims": 5,
     "nEvents": 5,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Ukraine-wide (EST — plotted Kryvyi Rih, main ballistic/Kalibr target)",
       "lo": 332.0,
       "hi": 332.0,
       "refs": [
        {
         "id": "ua-genstaff-20261017-night-293-downed",
         "url": "https://t.me/GeneralStaffZSU/42612",
         "text": "UA GS/Air Force: night of 16–17 Oct Russia launched Iskander-M/KN-23 ballistic missiles, Kh-22/32, 4 Kalibr and 332 Shahed-type UAVs (31 jet), Banderol, Gerbera, Parodiya"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Ukraine-wide (EST — plotted Kyiv)",
       "lo": 157.0,
       "hi": 157.0,
       "refs": [
        {
         "id": "suspilne-20261017-day-157-drones",
         "url": "https://t.me/suspilnenews/77690",
         "text": "UA Air Force (via Suspilne): 07:30–19:30 Oct 17 Russia attacked with 157 strike drones (25 jet) and six S-8000 Banderol"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Ukraine-wide (EST — plotted Kyiv)",
       "lo": 269.0,
       "hi": 269.0,
       "refs": [
        {
         "id": "uaaf-20261019-night-247-down",
         "url": "https://t.me/GeneralStaffZSU/42627",
         "text": "UA Air Force (via General Staff) 19 Oct 09:00: overnight RU attacked with Iskander-M/S-400 ballistic missiles, Iskander-K cruise missiles and 269 Shahed-type UAVs (59 jet-powered), S-8000 Banderol, Gerbera and Parodiya decoys"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Ukraine-wide (EST — plotted Kyiv)",
       "lo": 165.0,
       "hi": 165.0,
       "refs": [
        {
         "id": "uaaf-20261020-115-of-165-uav",
         "url": "https://t.me/GeneralStaffZSU/42634",
         "text": "UA Defence Forces / Air Force: overnight into 20 Oct (from 18:00 19 Oct) Russia launched 165 strike UAVs (105 jet-powered Shaheds) plus Gerbera/decoys from Orel, Kursk, Primorsko-Akhtarsk, occupied Donetsk and Crimea"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Ukraine-wide (EST — plotted Kyiv)",
       "lo": 186.0,
       "hi": 186.0,
       "refs": [
        {
         "id": "uaaf-20261021-overnight-186-uav-150-down",
         "url": "https://t.me/GeneralStaffZSU/42641",
         "text": "UA Air Force: overnight 21 Oct Russia launched Iskander-K cruise missiles and 186 strike UAVs (88 jet-powered)"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:drones",
     "category": "Strikes launched against",
     "label": "Launched against: Drones launched/engaged",
     "claimant": "Ukraine GenStaff / MoD",
     "low": 643.0,
     "high": 643.0,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Ukraine-wide (EST — plotted Kyiv)",
       "lo": 180.0,
       "hi": 180.0,
       "refs": [
        {
         "id": "gs-20261018-overnight-180-drones",
         "url": "https://t.me/GeneralStaffZSU/42618",
         "text": "UA General Staff: overnight Oct 18 (from 18:00 Oct 17) Russia launched 1 Iskander-M ballistic missile (Voronezh obl.) and 180 Shahed-type drones (26 jet), plus S-8000 Banderol/Dan-T, Gerbera and Parodiya decoys"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Ukraine-wide (EST — plotted Kyiv)",
       "lo": 463.0,
       "hi": 463.0,
       "refs": [
        {
         "id": "uaaf-20261018-418-of-463-uav",
         "url": "https://t.me/GeneralStaffZSU/42629",
         "text": "UA General Staff: during 18 Oct RU used 463 strike UAVs (Shahed-131/136/238, Parodiya, Gerbera, Banderol/Dan-T, Italmas)"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:drones",
     "category": "Strikes launched against",
     "label": "Launched against: Drones launched/engaged",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 655.0,
     "high": 655.0,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Dnipropetrovsk obl. (EST)",
       "lo": 4,
       "hi": 4,
       "refs": [
        {
         "id": "dnipro-ova-20261018-1830",
         "url": "https://t.me/dnipropetrovskaODA/32660",
         "text": "Dnipropetrovsk OVA 18:30 18 Oct: over 20 RU attacks on four districts with drones, artillery and a guided bomb"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kharkiv oblast (EST — plotted Izium district)",
       "lo": 651.0,
       "hi": 651.0,
       "refs": [
        {
         "id": "kharkiv-ova-20261019-weekly",
         "url": "https://t.me/synegubov/26785",
         "text": "RU used 27 missiles, 18 KABs, 2 FABs, 14 Geran-2, 4 Lancet, 13 Molniya, 53 FPV and 651 other UAVs"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:missiles",
     "category": "Strikes launched against",
     "label": "Launched against: Missiles launched/engaged",
     "claimant": "Ukraine GenStaff / MoD",
     "low": 1.0,
     "high": 1.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Ukraine-wide (EST — plotted Kyiv)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "gs-20261018-overnight-180-drones",
         "url": "https://t.me/GeneralStaffZSU/42618",
         "text": "UA General Staff: overnight Oct 18 (from 18:00 Oct 17) Russia launched 1 Iskander-M ballistic missile (Voronezh obl.) and 180 Shahed-type drones (26 jet), plus S-8000 Banderol/Dan-T, Gerbera and Parodiya decoys"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:missiles",
     "category": "Strikes launched against",
     "label": "Launched against: Missiles launched/engaged",
     "claimant": "Ukrainian President / Cabinet",
     "low": 16.0,
     "high": 16.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Kyiv and Kyiv oblast (EST)",
       "lo": 16.0,
       "hi": 16.0,
       "refs": [
        {
         "id": "zelensky-20261019-16-ballistic-kyiv",
         "url": "https://t.me/V_Zelenskiy_official/21425",
         "text": "Zelensky 19 Oct: RU used 16 ballistic missiles overnight in a targeted attack on Kyiv and Kyiv oblast, plus 200+ drones incl. jet Shaheds"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:missiles",
     "category": "Strikes launched against",
     "label": "Launched against: Missiles launched/engaged",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 27.0,
     "high": 27.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Kharkiv oblast (EST — plotted Izium district)",
       "lo": 27.0,
       "hi": 27.0,
       "refs": [
        {
         "id": "kharkiv-ova-20261019-weekly",
         "url": "https://t.me/synegubov/26785",
         "text": "RU used 27 missiles, 18 KABs, 2 FABs, 14 Geran-2, 4 Lancet, 13 Molniya, 53 FPV and 651 other UAVs"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:missiles",
     "category": "Strikes launched against",
     "label": "Launched against: Missiles launched/engaged",
     "claimant": "Media report: Kyiv Post",
     "low": 16.0,
     "high": 16.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Irpin area, Kyiv obl. — Ecosoft / Planeta Plastic (EST)",
       "lo": 16.0,
       "hi": 16.0,
       "refs": [
        {
         "id": "irpin-20261019-ecosoft-planeta-ballistic",
         "url": "https://www.kyivpost.com/post/87548",
         "text": "Kyiv Post: RU ballistic missiles struck facilities of water-purification company Ecosoft and polymer maker Planeta Plastic overnight 18→19 Oct, part of an attack with 16 missiles and 200+ drones (Liveuamap places NVO Ekosoft in Irpin)"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:air_strikes",
     "category": "Strikes launched against",
     "label": "Launched against: Air strikes / raids",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 22.0,
     "high": 738.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": true,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Zaporizhzhia oblast front (EST — plotted Orikhiv)",
       "lo": 22.0,
       "hi": 738.0,
       "refs": [
        {
         "id": "zp-ova-20261019-738-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49069",
         "text": "Zaporizhzhia OVA (Fedorov): over the day RU made 738 strikes on 56 settlements: 22 airstrikes (incl"
        },
        {
         "id": "zp-ova-20261019-738-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49069",
         "text": "Zaporizhzhia OVA (Fedorov): over the day RU made 738 strikes on 56 settlements: 22 airstrikes (incl"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:air_strikes",
     "category": "Strikes launched against",
     "label": "Launched against: Air strikes / raids",
     "claimant": "Russian regional officials",
     "low": 8200.0,
     "high": 8200.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "Belgorod obl. (EST)",
       "lo": 8200.0,
       "hi": 8200.0,
       "refs": [
        {
         "id": "miroshnik-20261020-belgorod-1300-attacks",
         "url": "https://tass.com/politics/2204633",
         "text": "22 RU civilians killed and 211 injured across Russia in the week (8,200 strikes)"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:guided_bombs",
     "category": "Strikes launched against",
     "label": "Launched against: Guided / glide bombs",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 32.0,
     "high": 32.0,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Kushuhum, Zaporizhzhia obl. (EST)",
       "lo": 4,
       "hi": 4,
       "refs": [
        {
         "id": "kushuhum-20261019-kab-1-killed",
         "url": "https://t.me/zoda_gov_ua/68505",
         "text": "Zaporizhzhia OVA: in the morning RU forces hit Kushuhum with four guided aerial bombs"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kharkiv oblast (EST — plotted Izium district)",
       "lo": 18.0,
       "hi": 18.0,
       "refs": [
        {
         "id": "kharkiv-ova-20261019-weekly",
         "url": "https://t.me/synegubov/26785",
         "text": "RU used 27 missiles, 18 KABs, 2 FABs, 14 Geran-2, 4 Lancet, 13 Molniya, 53 FPV and 651 other UAVs"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Pisky-Radkivski, Borova hromada, Kharkiv obl.",
       "lo": 10.0,
       "hi": 10.0,
       "refs": [
        {
         "id": "kharkiv-20261020-pisky-radkivski-10-kab",
         "url": "https://suspilne.media/kharkiv/1432599-rf-skinula-blizko-10-kabiv-na-piski-radkivski-na-harkivsini-poranena-pensionerka/",
         "text": "Suspilne Kharkiv / Borova MVA: RU forces struck Pisky-Radkivski with about 10 guided bombs (KABs) on 20 Oct"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:ground_attacks",
     "category": "Strikes launched against",
     "label": "Launched against: Ground attacks / engagements",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 80.0,
     "high": 80.0,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Nikopol / Marhanets / Kryvyi Rih districts, Dnipropetrovsk obl. (EST — plotted Nikopol)",
       "lo": 30.0,
       "hi": 30.0,
       "refs": [
        {
         "id": "ukrinform-20261017-dnipro-obl-30-attacks",
         "url": "https://www.ukrinform.net/rubric-ato/4175506-russian-shelling-in-dnipropetrovsk-region-injures-three-people.html",
         "text": "Dnipropetrovsk RMA head Hanzha: >30 Russian attacks on four districts Oct 17 with drones, artillery and bombs"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Dnipropetrovsk obl. (EST)",
       "lo": 20.0,
       "hi": 20.0,
       "refs": [
        {
         "id": "dnipro-ova-20261018-1830",
         "url": "https://t.me/dnipropetrovskaODA/32660",
         "text": "Dnipropetrovsk OVA 18:30 18 Oct: over 20 RU attacks on four districts with drones, artillery and a guided bomb"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Nikopol district, Dnipropetrovsk obl. (EST)",
       "lo": 30.0,
       "hi": 30.0,
       "refs": [
        {
         "id": "dnipro-ova-20261021-0730-summary",
         "url": "https://t.me/dnipropetrovskaODA/32726",
         "text": "Dnipropetrovsk OVA 07:30: almost 30 RU attacks on three districts (Dnipro, Nikopol, Synelnykove)"
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "RU MoD",
     "low": 25,
     "high": 25,
     "nClaims": 25,
     "nEvents": 25,
     "sourcesDisagree": false,
     "basis": "number of claim records in which this claimant says ground was taken from this side",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Dobropillia, Donetsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "amk-20261017-dobropillia-deteriorating",
         "url": "https://x.com/AMK_Mapping_/status/2111353298162978826",
         "text": "AMK Mapping (X): RF MoD claims of capturing Dobropillia are false, but the situation continues to deteriorate for Ukraine. Unverified / EST — INFO/SA only."
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Dobropillia, Donetsk obl. (EST — eight claimed settlements)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rf-mod-20261017-summary-eight-settlements",
         "url": "https://www.interfax.ru/russia/1123168",
         "text": "RF MoD daily summary 17 Oct: claims capture of Palamarivka and Kovalivka (Kharkiv, Zapad), Oleksiievo-Druzhkivka (Yug), Dobropillia, Pervomaiske and Serhiivka (Tsentr), Velykomykhailivka (Dnipropetrovsk, Vostok) and Malokaterynivka (Zaporizhzhia, Dnepr); Sever claims it completed liquidation of an '"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Velykomykhailivka, Dnipropetrovsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rf-mod-20261017-velykomykhailivka-69th-bde",
         "url": "https://www.interfax.ru/russia/1123175",
         "text": "RF MoD: control of Velykomykhailivka expands Vostok GoF's zone on the right bank of the Vovcha River; credits assault units of the 69th Separate Covering Brigade; claims an 8 km² defence area and 1,800+ buildings cleared. UA GS says the village is UA-held with the line 8 km east. Unverified / EST — "
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Palamarivka / Kovalivka, Kupiansk dir. (EST — plotted Palamarivka)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "grvzapad-20261018-kupiansk-palamarivka-unconfirmed",
         "url": "https://t.me/grvZapad/20128",
         "text": "grvZapad summary: RF MoD-claimed capture of Palamarivka and Kovalivka \"not yet confirmed on the ground\"; offensives toward Radkivka, Novoosynove, Kurylivka; holding west bank of the Zherebets; fighting at Yampil, Zarichne, Masliakivka; attacks toward Novoserhiivka, Shandryholove, Stavky, Tverdokhlib"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Hruzke, Donetsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261018-hruzke-liberation-interview",
         "url": "https://t.me/mod_russia/68332",
         "text": "RF MoD: assault-company commander Ruslan Valeev describes the \"liberation\" of Hruzke (DNR); says approach over open fields was the main difficulty and many UA soldiers surrendered. Unverified / EST — INFO/SA only."
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Omelnyk, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "voindv-20261019-omelnyk-38gmrb",
         "url": "https://t.me/voin_dv/21650",
         "text": "Voin DV (Vostok GoF channel): 38th GMRB (35th Army) established control over Omelnyk after breaking prepared defences; claims >400 buildings cleared, 27 km² defence area, losses to UA 92nd OShBr (company+), 14 AFVs, 30+ robotic platforms, 75 Baba-Yaga hexacopters. Unverified / EST — INFO/SA only. No"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Dobropillia, Donetsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261019-dobropillia-lezgin",
         "url": "https://t.me/mod_russia/68344",
         "text": "RF MoD interview: UAS battalion commander \"Lezgin\" describes the \"liberation\" of Dobropillia — bypassing the town from N and S, clearing the industrial zone, blocking withdrawal routes in western tree lines. Disputed: UA (GS 08:00 19 Oct) still reports RU assaults toward Dobropillia; ISW 18 Oct sees"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Omelnyk, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261019-omelnyk-liberated",
         "url": "https://t.me/mod_russia/68345",
         "text": "RF MoD: units of the Vostok GoF \"liberated\" Omelnyk (Zaporizhzhia obl., NE of Orikhiv). Voin DV: 38th GMRB of the 35th Army broke through prepared defences incl. an anti-tank ditch, cleared 400+ buildings and took a ~27 km² defence area; UA 92nd OShBr losses claimed. Rybar: flag footage only from ea"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Sumy / Kharkiv border (EST — plotted Vovchansk area)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tass-20261019-marochko-sever-100km2",
         "url": "https://tass.com/politics/2204081",
         "text": "TASS quoting RU expert Marochko: Sever GoF seized ~100 km² in Sumy and Kharkiv regions over the past week; RU \"liberated\" 12 settlements last week (8 Kharkiv, 3 DPR, 1 Zaporizhzhia). Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Front-wide (EST — plotted Zaporizhzhia direction)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261019-daily-summary-405-uav",
         "url": "https://tass.com/politics/2204097",
         "text": "RF MoD daily summary (via TASS): Vostok GoF \"liberated\" Omelnyk (Zaporizhzhia obl.); Sever gained positions near Vysokoye, Izbitskoye, Velykyi Burluk, Tomakhivka (Kharkiv) and struck UA units near Sukhodil, Sennoye, Hnylytsia (Sumy); Zapad near Husynka, Lozova-Druha, Hrushivka; Yug near Novoselivka,"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Havrylivka, Dnipropetrovsk obl. (EST — place identity approx)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "voindv-20261019-fake-havrylivka-video",
         "url": "https://t.me/voin_dv/21660",
         "text": "Voin DV (Vostok GoF channel) warns that a video purportedly from a 69th Covering Brigade soldier announcing the \"liberation\" of Havrylivka is a Ukrainian PSYOP fake and should not be published. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Omelnyk, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261019-itogi-omelnyk-velykomykhailivka",
         "url": "https://t.me/mod_russia/68356",
         "text": "RF MoD day summary: restates that Vostok GoF units \"liberated\" Omelnyk (Zaporizhzhia obl.); an assault-unit commander \"Samosval\" describes the storming of Velykomykhailivka (Dnipropetrovsk obl.); massed strike on defence industry, cruise-missile/UAV storage and a data centre claimed. Unverified / ES"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Lyman direction / Chornyi Zherebets (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "biletsky-20261019-vivaldi-summary-277km2",
         "url": "https://suspilne.media/donbas/1431767-bileckij-pidsumuvav-vivaldi-so-rozkazav-pro-slovansk-kramatorsk-taemnicu-ta-uspih-na-lugansini/",
         "text": "Suspilne Donbas — Biletsky sums up Operation Vivaldi: 277 km² liberated per the UA map (RU maps had shown 1,260 km² of claimed RU gains incl. Sviatohirsk, Oskil, Borova); RU losses >8,000 during the offensive, ~270 POWs incl. >20 officers; RU Zapad GoF (1st Tank, 20th and 25th CAA) had aimed to push"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Tymoshivka, Zaporizhzhia obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "voindv-20261020-tymoshivka-114-mrr",
         "url": "https://t.me/voin_dv/21667",
         "text": "Voin DV (Vostok GoF channel): guardsmen of the 114th Motor Rifle Regiment (127th MRD, 5th Army) took control of Tymoshivka; claims a 6 km² defence area taken and a company of the UA 225th Separate Assault Regiment destroyed, plus 8 AFVs, 17 UGVs and 33 Baba Yaga hexacopters. Unverified / EST — INFO/"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Tymoshivka, Polohy district, Zaporizhzhia obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261020-tymoshivka-captured",
         "url": "https://t.me/mod_russia/68369",
         "text": "RF MoD: units of the Vostok Grouping of Forces \"liberated\" Tymoshivka (Zaporizhzhia obl., E of Orikhiv near Novosoloshyne / Barvinivka). No Ukrainian confirmation; UA GS lists no Tymoshivka fighting this morning. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Zaporizhzhia / front-wide (EST — plotted Tymoshivka)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261020-daily-summary-383-uav",
         "url": "https://tass.com/politics/2204695",
         "text": "RF MoD daily summary (via TASS): Vostok \"liberated\" Tymoshivka; Sever \"gained better lines\" near Izbytske, Berezhne, Velykyi Burluk and Tomakhivka (Kharkiv); Center \"gained better lines\" near Zavidovo-Kudashevo, Kryvorizhzhia, Staroraiske, Starovarvarivka, Shylivka, Malotaranivka, Virivka, Bilozersk"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Omelnyk, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261020-omelnyk-38th-gmrb-27km2",
         "url": "https://t.me/mod_russia/68374",
         "text": "RF MoD: Vostok soldiers describe the battle for Omelnyk (Zaporizhzhia obl.); assault troops of the 38th Guards Motor Rifle Brigade (35th CAA) claimed to have broken through prepared defences and taken control of a large fortified area of 27 km². UA GS lists Omelnyk among places of RU attacks the sam"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Chervonyi Yar, Preobrazhenka hromada, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "mod-20261021-chervonyi-yar-capture",
         "url": "https://t.me/mod_russia/68392",
         "text": "RF MoD: units of the Vostok group of forces \"liberated\" (captured) Chervonyi Yar in Zaporizhzhia oblast. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Yulivka, Novooleksandrivka hromada, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "mod-20261021-yulivka-capture",
         "url": "https://t.me/mod_russia/68394",
         "text": "RF MoD: units of the Dnepr group of forces \"liberated\" (captured) Yulivka in Zaporizhzhia oblast. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Yulivka, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "mod-20261021-328-vdv-yulivka-belousov",
         "url": "https://t.me/mod_russia/68404",
         "text": "RF MoD: Defence Minister Belousov congratulated the 328th Guards Air Assault Regiment on \"liberating\" (capturing) Yulivka on the Orikhiv tactical direction (restates the morning capture claim, names the unit). Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Dobropillia, Donetsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "mod-20261021-51caa-dobropillia-details",
         "url": "https://t.me/mod_russia/68408",
         "text": "RF MoD: troops of the 51st Guards CAA (Center GoF) gave \"new details\" of the claimed capture of Dobropillia, crediting artillery of the 114th Brigade, recon of the 80th Battalion and drones of the 56th Spetsnaz Battalion. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Tymoshivka, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tass-20261021-tymoshivka-capture-video",
         "url": "https://t.me/tass_agency/401619",
         "text": "TASS / RF MoD published footage of the claimed \"liberation\" (capture) of Tymoshivka, Zaporizhzhia obl. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      },
      {
       "date": "2026-10-22",
       "loc": "Myrivka, Ternuvate hromada, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261022-myrivka-capture",
         "url": "https://t.me/mod_russia/68431",
         "text": "RF MoD claims Vostok Grouping units 'liberated' (captured) Myrivka in Zaporizhzhia oblast. No Ukrainian confirmation; ISW/DeepState have not confirmed as of this run. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      },
      {
       "date": "2026-10-23",
       "loc": "Dobropillia, Donetsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-mod-20261023-dobropillia-61nib-177nir",
         "url": "https://t.me/mod_russia/68465",
         "text": "RF MoD: marines of the 61st Naval Infantry Bde and 177th Naval Infantry Regt (Center GoF) described the \"liberation\" of Dobropillia, cutting supply routes from Sviatohorivka, Hannivka and Bilozerske since May. Party claim; ISW previously did not confirm full capture. Unverified / EST — INFO/SA only."
        }
       ]
      },
      {
       "date": "2026-10-23",
       "loc": "Pervomaiske, Donetsk obl. (EST, Bilozerske-hromada candidate)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-mod-20261023-pervomaiske-dpr",
         "url": "https://t.me/mod_russia/68471",
         "text": "RF MoD: Center GoF assault troops describe \"liberating\" Pervomaiske (DPR), clearing house by house. Party claim. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Independent analysts / OSINT",
     "low": 3,
     "high": 3,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "number of claim records in which this claimant says ground was taken from this side",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Kolodiazne, Dvorichna hromada, Kharkiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "isw-20261018-kolodiazne-refuted",
         "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-18-2026",
         "text": "ISW 18 Oct: a Ukrainian brigade refuted recent Russian claims that RU forces seized Kolodiazne (SE of Velykyi Burluk); no ground activity reported in the Velykyi Burluk direction on 18 Oct. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Myrne–Zarichne–Torske area, NE of Lyman (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "isw-20261019-lyman-vivaldi-zarichne",
         "url": "https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-19-2026/",
         "text": "ISW 19 Oct (relaying Mashovets): UA likely pushed RU out of Myrne (NE of Lyman), operates on the western outskirts of Yampolivka, advanced toward Ivanivka and Terny, into northern Zarichne (fighting in southern Zarichne) and likely to the east bank of the Zherebets south of Torske; RU milbloggers cl"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Tymoshivka, NW of Huliaipole, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "isw-20261020-tymoshivka-claim-exaggerated",
         "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-20-2026",
         "text": "ISW 20 Oct: the RU MoD continues to make exaggerated claims of advances in the Huliaipole direction — it claimed Eastern GoF seized Tymoshivka, which is at least 12 km from the furthest extent of RU advances; milbloggers credited the 114th MRR (127th MRD). ISW calls this part of a cognitive-warfare "
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Russian military units / milbloggers",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "number of claim records in which this claimant says ground was taken from this side",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Orikhiv area, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rybar-20261019-orikhiv-digest",
         "url": "https://t.me/rybar/84023",
         "text": "Rybar Orikhiv digest: Omelnyk passed to RU control (flags only from E outskirts); fierce fighting for Orikhiv, UA brought fresh forces and pushed RU back inside the town; Novoandriivka contested, nobody in full control; UA still uses Novopavlivka to reinforce Orikhiv; UA controls most of Prymorske, "
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Dobropillia (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "motopatriot-20261021-dobropillia-clearing",
         "url": "https://t.me/motopatriot78/56991",
         "text": "Motopatriot (RU milblogger): RU troops continue \"liberating\" Dobropillia. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Media report: Ukrinform",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "number of claim records in which this claimant says ground was taken from this side",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Orikhiv, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261017-orikhiv-otf-south",
         "url": "https://www.ukrinform.net/rubric-ato/4175480-russian-forces-aim-to-capture-orikhiv-by-end-of-october-ukrainian-military-says.html",
         "text": "OTF South deputy spokesperson Shevchenko: RU command ordered capture of Orikhiv, Preobrazhenka and Tavriiske by end of October; RU infiltrates Orikhiv in 1–2-person groups but has no foothold; RU reports of clearing 50% of Orikhiv (2,800 houses) are \"fabricated\". Unverified / EST — INFO/SA only."
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Media report: Oleg_IHS",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "number of claim records in which this claimant says ground was taken from this side",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Svitle / Vodianske, Dobropillia area (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "x-20261017-oleg-ihs-svitle-vodianske",
         "url": "https://x.com/Oleg_IHS/status/2111484934707921248",
         "text": "X aggregator Oleg_IHS: RU captured Lypovyi forest, southern part of Svitle and the mine at Vodianske; RU infantry infiltrating Dobropillia. UA GS 22:00 lists Vodianske as an area of attempted RU advances. Unverified / EST — INFO/SA only."
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Russian-installed occupation officials",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "number of claim records in which this claimant says ground was taken from this side",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Dobropillia, Donetsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "pushilin-20261019-dobropillia-sweep",
         "url": "https://tass.com/politics/2203985",
         "text": "Pushilin (via TASS): RU forces will have to clear \"liberated\" Dobropillia of scattered Ukrainian groups, inspecting every basement; the mop-up \"will also be uneasy\". TASS separately quotes a 61st Naval Inf Bde battalion commander: 100+ UA troops eliminated/surrendered in Dobropillia mine workings. U"
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Ukrainian military units / commands",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "number of claim records in which this claimant says ground was taken from this side",
     "events": [
      {
       "date": "2026-10-21",
       "loc": "Dobropillia (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "azov-20261021-dobropillia-capture-denial",
         "url": "https://www.ukrinform.net/rubric-ato/4176639-azov-dismisses-russian-claim-of-capturing-dobropillia.html",
         "text": "Ukrinform / Azov Corps: Azov dismisses RU claims of capturing Dobropillia as disinformation (\"War on Credit\"); Budanov earlier also denied the capture. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Media report: Suriyak_maps",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "number of claim records in which this claimant says ground was taken from this side",
     "events": [
      {
       "date": "2026-10-21",
       "loc": "Kupiansk (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "suriyak-20261021-kupiansk",
         "url": "https://t.me/Suriyak_maps/13226",
         "text": "Suriyak Maps: over two weeks RU took the north-western sector of Kupiansk, fighting shifted to Moskovka (Myrove) and outskirts of Sobolivka; RU recaptured Radkivka and made incursions near Mala Shapkivka; UA incursions toward Holubivka. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Media report: voennoedelocom",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "number of claim records in which this claimant says ground was taken from this side",
     "events": [
      {
       "date": "2026-10-21",
       "loc": "Kupiansk (centre / western outskirts), Kharkiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "x-voennoedelo-20261021-kupiansk-centre",
         "url": "https://x.com/voennoedelocom/status/2112971644008567195",
         "text": "Voennoe Delo (X), citing military channels: RU forces took control of key objects in central Kupiansk and advanced on the western outskirts. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_km2",
     "category": "Territory",
     "label": "Territory lost — area stated (km²)",
     "claimant": "RU MoD",
     "low": 277.0,
     "high": 678.0,
     "nClaims": 25,
     "nEvents": 6,
     "sourcesDisagree": true,
     "basis": "km² stated per claim (distinct values; low = largest single figure, high = sum); cumulative campaign totals excluded",
     "events": []
    }
   ],
   "lossesSufferedBy": "Ukraine",
   "civilianLine": "Civilians in Ukraine (gov't-controlled areas): civilians killed 59–60 (claimed by Ukrainian local / regional officials & emergency services, 28 claims); civilians killed 10 (claimed by Ukrainian President / Cabinet, 3 claims); civilians killed 11 (claimed by Media report: Kyiv Independent, 3 claims); civilians killed 3 (claimed by Media report: ukrinform_news, 2 claims); civilians killed 2 (claimed by Media report: Interfax-Ukraine, 1 claim); civilians killed 6–14 (claimed by Media report: suspilnenews, 1 claim); civilians wounded / injured 484–619 (claimed by Ukrainian local / regional officials & emergency services, 53 claims); civilians wounded / injured 62 (claimed by Ukrainian President / Cabinet, 3 claims); civilians wounded / injured 54–75 (claimed by Media report: Kyiv Independent, 3 claims); civilians wounded / injured 37 (claimed by Media report: ukrinform_news, 2 claims); civilians wounded / injured 12 (claimed by Media report: Ukrinform, 2 claims); civilians wounded / injured 3 (claimed by Media report: Interfax-Ukraine, 1 claim); civilians wounded / injured 3–75 (claimed by Media report: suspilnenews, 1 claim); civilian casualties (split not stated) 7 (claimed by Ukrainian local / regional officials & emergency services, 1 claim). CLAIMED, UNVERIFIED.",
   "officialTallies": [
    {
     "target": "Ukraine",
     "metric": "casualties_unspec",
     "claimant": "RU MoD",
     "series": "RU MoD daily tally of claimed Ukrainian losses",
     "area": null,
     "days": [
      {
       "date": "2026-10-18",
       "lo": 1185.0,
       "hi": 1185.0,
       "loc": "Front-wide (EST — plotted Donetsk)",
       "refs": [
        {
         "id": "rfmod-20261018-daily-no-new-captures",
         "url": "https://t.me/interfaxonline/80303",
         "text": "UA losses ~1,185 across all groupings"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "lo": 1235.0,
       "hi": 1235.0,
       "loc": "Front-wide (EST — plotted Zaporizhzhia direction)",
       "refs": [
        {
         "id": "rfmod-20261019-daily-summary-405-uav",
         "url": "https://tass.com/politics/2204097",
         "text": "UA losses ~1,235. Unverified / EST"
        }
       ]
      }
     ],
     "lo": 2420.0,
     "hi": 2420.0,
     "nClaims": 2
    },
    {
     "target": "Ukraine",
     "metric": "mun:ground_attacks",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
     "area": null,
     "days": [
      {
       "date": "2026-10-19",
       "lo": 9.0,
       "hi": 9.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261019-2200-177-clashes",
         "url": "https://t.me/GeneralStaffZSU/42630",
         "text": "Lyman 9 attacks repelled (Novomykhailivka, Druzheliubivka, Chervonyi Stav, Zelena Dolyna, Lyman)"
        }
       ]
      }
     ],
     "lo": 9.0,
     "hi": 9.0,
     "nClaims": 1
    },
    {
     "target": "Ukraine",
     "metric": "mun:air_strikes",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "series": "Ukrainian local / regional officials & emergency services — daily / past-24h figures",
     "area": "Zaporizhzhia obl. (EST — plotted Zaporizhzhia city)",
     "days": [
      {
       "date": "2026-10-20",
       "lo": 848.0,
       "hi": 848.0,
       "loc": "Zaporizhzhia obl. (EST — plotted Zaporizhzhia city)",
       "refs": [
        {
         "id": "zaporizhzhia-ova-20261020-848-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49077",
         "text": "Zaporizhzhia OVA (Fedorov): over the past day RU made 848 strikes on 52 settlements"
        }
       ]
      }
     ],
     "lo": 848.0,
     "hi": 848.0,
     "nClaims": 1
    },
    {
     "target": "Ukraine",
     "metric": "mun:drones",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
     "area": null,
     "days": [
      {
       "date": "2026-10-20",
       "lo": 8784.0,
       "hi": 8784.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261020-0800-206-clashes",
         "url": "https://t.me/GeneralStaffZSU/42633",
         "text": "RU used 1 missile and 63 air strikes (217 KABs), 8,784 kamikaze drones, 2,607 shellings"
        }
       ]
      },
      {
       "date": "2026-10-23",
       "lo": 10313.0,
       "hi": 10313.0,
       "loc": "Front-wide (pinned Pokrovsk direction, EST)",
       "refs": [
        {
         "id": "tg-genstaff-20261023-0800-165-clashes",
         "url": "https://t.me/GeneralStaffZSU/42660",
         "text": "RU used 239 guided bombs and 10,313 kamikaze drones"
        }
       ]
      }
     ],
     "lo": 19097.0,
     "hi": 19097.0,
     "nClaims": 2
    },
    {
     "target": "Ukraine",
     "metric": "mun:missiles",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
     "area": null,
     "days": [
      {
       "date": "2026-10-20",
       "lo": 1.0,
       "hi": 1.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261020-0800-206-clashes",
         "url": "https://t.me/GeneralStaffZSU/42633",
         "text": "RU used 1 missile and 63 air strikes (217 KABs), 8,784 kamikaze drones, 2,607 shellings"
        }
       ]
      }
     ],
     "lo": 1.0,
     "hi": 1.0,
     "nClaims": 1
    },
    {
     "target": "Ukraine",
     "metric": "mun:air_strikes",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
     "area": null,
     "days": [
      {
       "date": "2026-10-20",
       "lo": 63.0,
       "hi": 63.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261020-0800-206-clashes",
         "url": "https://t.me/GeneralStaffZSU/42633",
         "text": "RU used 1 missile and 63 air strikes (217 KABs), 8,784 kamikaze drones, 2,607 shellings"
        }
       ]
      }
     ],
     "lo": 63.0,
     "hi": 63.0,
     "nClaims": 1
    },
    {
     "target": "Ukraine",
     "metric": "mun:guided_bombs",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
     "area": null,
     "days": [
      {
       "date": "2026-10-20",
       "lo": 217.0,
       "hi": 217.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261020-0800-206-clashes",
         "url": "https://t.me/GeneralStaffZSU/42633",
         "text": "RU used 1 missile and 63 air strikes (217 KABs), 8,784 kamikaze drones, 2,607 shellings"
        }
       ]
      },
      {
       "date": "2026-10-23",
       "lo": 239.0,
       "hi": 239.0,
       "loc": "Front-wide (pinned Pokrovsk direction, EST)",
       "refs": [
        {
         "id": "tg-genstaff-20261023-0800-165-clashes",
         "url": "https://t.me/GeneralStaffZSU/42660",
         "text": "RU used 239 guided bombs and 10,313 kamikaze drones"
        }
       ]
      }
     ],
     "lo": 456.0,
     "hi": 456.0,
     "nClaims": 2
    },
    {
     "target": "Ukraine",
     "metric": "mun:artillery",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
     "area": null,
     "days": [
      {
       "date": "2026-10-20",
       "lo": 2607.0,
       "hi": 2607.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261020-0800-206-clashes",
         "url": "https://t.me/GeneralStaffZSU/42633",
         "text": "RU used 1 missile and 63 air strikes (217 KABs), 8,784 kamikaze drones, 2,607 shellings"
        }
       ]
      }
     ],
     "lo": 2607.0,
     "hi": 2607.0,
     "nClaims": 1
    }
   ]
  },
  "Russia": {
   "side": "Russia",
   "label": "Russia",
   "civLabel": "Civilians in Russia / Russian-occupied areas",
   "rows": [
    {
     "metric": "killed",
     "category": "Personnel",
     "label": "Personnel killed",
     "claimant": "Media report: tass_agency",
     "low": 3.0,
     "high": 3.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Occupied Luhansk obl. (EST — place not stated; plotted Luhansk)",
       "lo": 3.0,
       "hi": 3.0,
       "refs": [
        {
         "id": "lnr-20261019-pasechnik-funeral-car-3-killed",
         "url": "https://t.me/tass_agency/401113",
         "text": "TASS: RU-installed LNR head Pasechnik says 3 killed and 2 injured when AFU struck a funeral-service vehicle carrying a deceased person"
        }
       ]
      }
     ]
    },
    {
     "metric": "killed",
     "category": "Personnel",
     "label": "Personnel killed",
     "claimant": "Ukrainian military units / commands",
     "low": 108.0,
     "high": 108.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "Sumy obl. (EST — place not stated)",
       "lo": 108.0,
       "hi": 108.0,
       "refs": [
        {
         "id": "group10-gur-20261020-sumy-600ha",
         "url": "https://suspilne.media/sumy/1432179-29-polonenih-armijciv-rf-108-likvidovanih-cilej-so-vidomo-pro-specoperaciu-bijciv-group-10-na-sumsini/",
         "text": "Suspilne Sumy: HUR special unit GROUP 10 cleared more than 600 ha of forest of RU troops in Sumy obl. and handed the positions to the Defence Forces, taking 29 RU prisoners, killing 108 and hitting 1,100+ targets"
        }
       ]
      }
     ]
    },
    {
     "metric": "captured",
     "category": "Personnel",
     "label": "Personnel captured / POWs",
     "claimant": "Ukrainian military units / commands",
     "low": 29.0,
     "high": 29.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "Sumy obl. (EST — place not stated)",
       "lo": 29.0,
       "hi": 29.0,
       "refs": [
        {
         "id": "group10-gur-20261020-sumy-600ha",
         "url": "https://suspilne.media/sumy/1432179-29-polonenih-armijciv-rf-108-likvidovanih-cilej-so-vidomo-pro-specoperaciu-bijciv-group-10-na-sumsini/",
         "text": "Suspilne Sumy: HUR special unit GROUP 10 cleared more than 600 ha of forest of RU troops in Sumy obl. and handed the positions to the Defence Forces, taking 29 RU prisoners, killing 108 and hitting 1,100+ targets"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: TASS",
     "low": 5.0,
     "high": 5.0,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Occupied Luhansk obl. (location not stated; EST — plotted Luhansk)",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "tass-20261018-lnr-3-killed",
         "url": "https://tass.ru/proisshestviya/28227039",
         "text": "TASS headline: three killed and three injured in Ukrainian attacks in the \"LNR\""
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Occupied Donetsk obl. (EST)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "tass-20261019-dpr-8-attacks",
         "url": "https://tass.com/defense/2203889",
         "text": "TASS citing the DPR occupation \"department documenting Ukraine's war crimes\": 8 Ukrainian attacks on the \"DPR\" in the past day (11 projectiles), 1 civilian killed, damage to a truck, a car and two infrastructure facilities"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Oleshky district, occupied Kherson obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "miroshnik-20261020-oleshky-733-rounds",
         "url": "https://tass.com/politics/2204775",
         "text": "one dead, five injured"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: Al Jazeera",
     "low": 1.0,
     "high": 1.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "St Petersburg — oil terminal / Ruchyi depot / Kolpino warehouses (EST)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "beglov-20261018-st-petersburg-1-killed",
         "url": "https://www.aljazeera.com/news/2026/10/18/ukrainian-drone-attack-on-russias-st-petersburg-kills-1-hits-energy-sites",
         "text": "Al Jazeera (AFP/Reuters) citing Governor Beglov: massive Ukrainian drone attack on St Petersburg killed at least 1, injured 5"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: Meduza",
     "low": 1.0,
     "high": 1.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "St Petersburg + Leningrad obl. (RU) (EST)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "meduza-20261019-spb-1-killed-15-injured",
         "url": "https://meduza.io/en/feature/2026/10/19/in-pictures-biggest-ukrainian-drone-attack-yet-on-st-petersburg-and-leningrad-region-kills-1-injures-15-and-sparks-many-fires",
         "text": "1 killed, 15 injured"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: wargonzo",
     "low": 3.0,
     "high": 3.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Lysychansk–Luhansk road, occupied Luhansk obl. (EST)",
       "lo": 3.0,
       "hi": 3.0,
       "refs": [
        {
         "id": "wargonzo-20261019-lysychansk-luhansk-road-uav",
         "url": "https://t.me/wargonzo/37745",
         "text": "WarGonzo relaying LNR head Pasechnik: besides the strike on a funeral-service car in Pervomaisk (3 killed), a UA UAV hit a truck on the Lysychansk–Luhansk road, injuring the driver"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Russian regional officials",
     "low": 4,
     "high": 22.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": true,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "Belgorod obl. (EST)",
       "lo": 4,
       "hi": 22.0,
       "refs": [
        {
         "id": "miroshnik-20261020-belgorod-1300-attacks",
         "url": "https://tass.com/politics/2204633",
         "text": "UA forces attacked Belgorod obl. ~1,300 times last week, killing four civilians and injuring 55"
        },
        {
         "id": "miroshnik-20261020-belgorod-1300-attacks",
         "url": "https://tass.com/politics/2204633",
         "text": "22 RU civilians killed and 211 injured across Russia in the week (8,200 strikes)"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: tass_agency",
     "low": 3.0,
     "high": 3.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-21",
       "loc": "Luhansk (occupied) (EST)",
       "lo": 3.0,
       "hi": 3.0,
       "refs": [
        {
         "id": "luhansk-20261021-telecom-building-strike",
         "url": "https://t.me/tass_agency/401427",
         "text": "WarGonzo relays 3 killed"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Russian regional officials",
     "low": 78.0,
     "high": 234.0,
     "nClaims": 8,
     "nEvents": 8,
     "sourcesDisagree": true,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Bryansk obl. (EST — location not stated; plotted Trubchevsk as prior Bryansk entries)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "tass-20261017-bryansk-drone-killed",
         "url": "https://t.me/tass_agency/400790",
         "text": "Two Majors relays overnight governor report of a truck hit near Katashin (Novozybkov district) and two lightly injured in Fokino"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Belgorod oblast (EST)",
       "lo": 7,
       "hi": 7,
       "refs": [
        {
         "id": "ria-20261018-belgorod-7-injured",
         "url": "https://t.me/rian_ru/348193",
         "text": "RIA citing Belgorod regional operational HQ: seven people injured in Ukrainian attacks in Belgorod oblast (18 Oct)"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Oktyabrsky district, Kursk obl. (EST)",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "kursk-20261020-oktyabrsky-energy-17k",
         "url": "https://t.me/interfaxonline/80397",
         "text": "three men injured"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Belgorod obl. (EST)",
       "lo": 55.0,
       "hi": 211.0,
       "refs": [
        {
         "id": "miroshnik-20261020-belgorod-1300-attacks",
         "url": "https://tass.com/politics/2204633",
         "text": "UA forces attacked Belgorod obl. ~1,300 times last week, killing four civilians and injuring 55"
        },
        {
         "id": "miroshnik-20261020-belgorod-1300-attacks",
         "url": "https://tass.com/politics/2204633",
         "text": "22 RU civilians killed and 211 injured across Russia in the week (8,200 strikes)"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kursk obl. (EST — Oktyabrsky district / Korenevo)",
       "lo": 5,
       "hi": 5,
       "refs": [
        {
         "id": "kursk-20261021-5-injured",
         "url": "https://t.me/dva_majors/100760",
         "text": "Dva Majora relaying Kursk authorities: five injured (four in Oktyabrsky district, one in Korenevo)"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Klimovo, Bryansk obl. (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "bryansk-20261021-klimovo-1-killed",
         "url": "https://t.me/wargonzo/37780",
         "text": "a 19-year-old passenger killed, two men injured"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Lipetsk, Russia (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "lipetsk-20261021-uav-clinic-homes",
         "url": "https://kyivindependent.com/explosion-fires-reported-amid-overnight-ukrainian-drone-attack-on-lipetsk-russia/",
         "text": "one man injured (governor via TASS/RIA)"
        }
       ]
      },
      {
       "date": "2026-10-22",
       "loc": "Borisovka / Belyanka / Graivoron, Belgorod obl. (EST)",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "interfax-20261022-belgorod-3-injured",
         "url": "https://www.interfax.ru/russia/1124378",
         "text": "Interfax citing the Belgorod operational HQ: three injured by Ukrainian drone attacks"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: TASS",
     "low": 12,
     "high": 12,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "Occupied Donetsk obl. (EST — places not stated; plotted Donetsk)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "dpr-20261020-14-attacks-2-injured",
         "url": "https://tass.com/politics/2204409",
         "text": "two civilians injured"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Enerhodar (ZNPP satellite city), occupied Zaporizhzhia obl.",
       "lo": 5,
       "hi": 5,
       "refs": [
        {
         "id": "miroshnik-20261020-enerhodar-blockade",
         "url": "https://tass.com/politics/2204745",
         "text": "five civilians injured by shelling of the ZNPP sports complex"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Oleshky district, occupied Kherson obl.",
       "lo": 5,
       "hi": 5,
       "refs": [
        {
         "id": "miroshnik-20261020-oleshky-733-rounds",
         "url": "https://tass.com/politics/2204775",
         "text": "one dead, five injured"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: Al Jazeera",
     "low": 5.0,
     "high": 5.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "St Petersburg — oil terminal / Ruchyi depot / Kolpino warehouses (EST)",
       "lo": 5.0,
       "hi": 5.0,
       "refs": [
        {
         "id": "beglov-20261018-st-petersburg-1-killed",
         "url": "https://www.aljazeera.com/news/2026/10/18/ukrainian-drone-attack-on-russias-st-petersburg-kills-1-hits-energy-sites",
         "text": "Al Jazeera (AFP/Reuters) citing Governor Beglov: massive Ukrainian drone attack on St Petersburg killed at least 1, injured 5"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: Meduza",
     "low": 15.0,
     "high": 15.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "St Petersburg + Leningrad obl. (RU) (EST)",
       "lo": 15.0,
       "hi": 15.0,
       "refs": [
        {
         "id": "meduza-20261019-spb-1-killed-15-injured",
         "url": "https://meduza.io/en/feature/2026/10/19/in-pictures-biggest-ukrainian-drone-attack-yet-on-st-petersburg-and-leningrad-region-kills-1-injures-15-and-sparks-many-fires",
         "text": "1 killed, 15 injured"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: wargonzo",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "Voroshylovskyi district, occupied Donetsk",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "wargonzo-20261020-donetsk-voroshylovskyi-drones",
         "url": "https://t.me/wargonzo/37762",
         "text": "administrative and residential buildings and vehicles damaged, one civilian injured, part of the city without power"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: interfaxonline",
     "low": 2,
     "high": 2,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-22",
       "loc": "Voronovo, TiNAO (New Moscow) (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "ifx-20261022-voronovo-two-injured",
         "url": "https://t.me/interfaxonline/80519",
         "text": "Interfax / Sobyanin: two people injured in the Voronovo area of TiNAO (New Moscow) during the overnight UAV attack"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 2,
     "high": 2,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-22",
       "loc": "Moscow region (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "tass-20261022-630-uav-moscow-region",
         "url": "https://t.me/tass_agency/401648",
         "text": "Two people hurt near Voronovo (TiNAO)"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_casualties_unspec",
     "category": "Civilians",
     "label": "Civilian casualties (split not stated)",
     "claimant": "Media report: interfaxonline",
     "low": 127.0,
     "high": 127.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Moscow region (EST — plotted Moscow)",
       "lo": 127.0,
       "hi": 127.0,
       "refs": [
        {
         "id": "ifx-20261018-moscow-512-drones",
         "url": "https://t.me/interfaxonline/80294",
         "text": "127 neutralised on approach to the capital (RIA: 87 overnight + 40 more)"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_casualties_unspec",
     "category": "Civilians",
     "label": "Civilian casualties (split not stated)",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 163.0,
     "high": 163.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-22",
       "loc": "Moscow region (EST)",
       "lo": 163.0,
       "hi": 163.0,
       "refs": [
        {
         "id": "tass-20261022-630-uav-moscow-region",
         "url": "https://t.me/tass_agency/401648",
         "text": "most destroyed at distant lines, 163 neutralised on approach to Moscow (Interfax)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:drones",
     "category": "Equipment / infrastructure",
     "label": "Drones / UAVs",
     "claimant": "Ukrainian military units / commands",
     "low": 1003.0,
     "high": 1003.0,
     "nClaims": 5,
     "nEvents": 5,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Ukraine-wide (EST — plotted Kryvyi Rih, main ballistic/Kalibr target)",
       "lo": 289.0,
       "hi": 289.0,
       "refs": [
        {
         "id": "ua-genstaff-20261017-night-293-downed",
         "url": "https://t.me/GeneralStaffZSU/42612",
         "text": "293 targets downed/suppressed (4 Kalibr, 289 UAVs)"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Ukraine-wide (EST — plotted Kyiv)",
       "lo": 140.0,
       "hi": 140.0,
       "refs": [
        {
         "id": "suspilne-20261017-day-157-drones",
         "url": "https://t.me/suspilnenews/77690",
         "text": "140 drones (22 jet) and all six S-8000 downed/suppressed"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Ukraine-wide (EST — plotted Kyiv)",
       "lo": 243.0,
       "hi": 243.0,
       "refs": [
        {
         "id": "uaaf-20261019-night-247-down",
         "url": "https://t.me/GeneralStaffZSU/42627",
         "text": "247 targets downed/suppressed (4 Iskander-K, 243 UAVs)"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Ukraine-wide (EST — plotted Kyiv)",
       "lo": 150.0,
       "hi": 150.0,
       "refs": [
        {
         "id": "uaaf-20261021-overnight-186-uav-150-down",
         "url": "https://t.me/GeneralStaffZSU/42641",
         "text": "150 UAVs downed/suppressed as of 08:30"
        }
       ]
      },
      {
       "date": "2026-10-22",
       "loc": "Ukraine-wide (EST — plotted Kyiv)",
       "lo": 181.0,
       "hi": 181.0,
       "refs": [
        {
         "id": "uaaf-20261022-night-181-downed",
         "url": "https://t.me/GeneralStaffZSU/42655",
         "text": "181 drones downed/suppressed as of 09:00, hits at 32 locations"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:drones",
     "category": "Equipment / infrastructure",
     "label": "Drones / UAVs",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 51.0,
     "high": 51.0,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Kryvyi Rih / Dnipro (EST)",
       "lo": 24.0,
       "hi": 24.0,
       "refs": [
        {
         "id": "dnipro-ova-20261017-kryvyi-rih-dnipro",
         "url": "https://t.me/dnipropetrovskaODA/32638",
         "text": "24 UAVs downed overnight"
        }
       ]
      },
      {
       "date": "2026-10-17",
       "loc": "Vinnytsia obl. (EST)",
       "lo": 24.0,
       "hi": 24.0,
       "refs": [
        {
         "id": "ukrinform-20261017-vinnytsia-blackout",
         "url": "https://www.ukrinform.net/rubric-ato/4175377-vinnytsia-region-endures-one-of-russias-largest-attacks-since-start-of-fullscale-invasion.html",
         "text": "24 drones downed"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Approaches to Moscow (EST)",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "sobyanin-20261020-3-uav-moscow",
         "url": "https://t.me/tass_agency/401346",
         "text": "TASS / Moscow mayor Sobyanin: RU MoD air defence destroyed three UAVs flying toward Moscow on the evening of 20 Oct"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:drones",
     "category": "Equipment / infrastructure",
     "label": "Drones / UAVs",
     "claimant": "Ukraine GenStaff / MoD",
     "low": 152.0,
     "high": 152.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Ukraine-wide (EST — plotted Kyiv)",
       "lo": 152.0,
       "hi": 152.0,
       "refs": [
        {
         "id": "gs-20261018-overnight-180-drones",
         "url": "https://t.me/GeneralStaffZSU/42618",
         "text": "152 drones (16 jet) downed/suppressed by 08:00"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Russian regional officials",
     "low": 3,
     "high": 3,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Belgorod (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ria-20261018-belgorod-substation-fire",
         "url": "https://ria.ru/20261018/belgorod-2125254802.html",
         "text": "WarTranslated / Exilenova+: substation hit"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Oktyabrsky district, Kursk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kursk-20261020-oktyabrsky-energy-17k",
         "url": "https://t.me/interfaxonline/80397",
         "text": "Kursk governor Khinshtein (Interfax/TASS): a UA fixed-wing UAV attacked an energy facility in Oktyabrsky district"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kursk obl. (EST — Oktyabrsky district / Korenevo)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "kursk-20261021-5-injured",
         "url": "https://t.me/dva_majors/100760",
         "text": "energy facility damaged in Oktyabrsky district"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Media report: tass_agency",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Luhansk, occupied Luhansk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tass-20261017-lnr-power-outage",
         "url": "https://t.me/tass_agency/400826",
         "text": "TASS citing occupation head Pasechnik: Ukrainian attack on LNR energy infrastructure caused an emergency outage"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Media report: Al Jazeera",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "St Petersburg — oil terminal / Ruchyi depot / Kolpino warehouses (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "beglov-20261018-st-petersburg-1-killed",
         "url": "https://www.aljazeera.com/news/2026/10/18/ukrainian-drone-attack-on-russias-st-petersburg-kills-1-hits-energy-sites",
         "text": "fires at the St Petersburg Oil Terminal, Ruchyi oil depot and Kolpino industrial warehouses"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Media report: Kyiv Independent",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "Chystiakove (Torez), occupied Donetsk obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ki-20261020-chystiakove-energy-strike",
         "url": "https://kyivindependent.com/ukrainian-forces-reportedly-strike-energy-infrastructure-in-occupied-donetsk-oblast-blackouts-in-crimea/",
         "text": "Kyiv Independent: UA forces reportedly struck energy infrastructure in occupied Chystiakove (Donetsk obl.) late on 20 Oct (Exilenova Plus)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Russian regional officials",
     "low": 4,
     "high": 4,
     "nClaims": 4,
     "nEvents": 4,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Bryansk / Kursk / Belgorod border areas (EST — plotted Belaya Beryozka)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "dvamajors-20261017-border-drone-strikes",
         "url": "https://t.me/dva_majors/100617",
         "text": "Two Majors border summary (RU officials relayed): UAV hit a house in Belaya Beryozka (Trubchevsk dist., Bryansk)"
        },
        {
         "id": "dvamajors-20261017-border-drone-strikes",
         "url": "https://t.me/dva_majors/100617",
         "text": "multiple drone hits on cars/houses in Shebekino district (Belgorod)"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Belgorod obl. (EST — settlement not stated)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "x-noel-20261021-belgorod-school-uav-ops",
         "url": "https://x.com/NOELreports/status/2112888133692030995",
         "text": "NOELreports (X aggregator): UA forces struck and destroyed a school building in Belgorod region allegedly used by RU UAV operators"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Lipetsk, Russia (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "lipetsk-20261021-uav-clinic-homes",
         "url": "https://kyivindependent.com/explosion-fires-reported-amid-overnight-ukrainian-drone-attack-on-lipetsk-russia/",
         "text": "governor Artamonov says windows/facades of several residential buildings and a closed clinic were damaged"
        }
       ]
      },
      {
       "date": "2026-10-23",
       "loc": "Voronezh — former VVAIU / Baltimor airfield area (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-exilenova-20261023-voronezh-vvaiu",
         "url": "https://t.me/exilenova_plus/33237",
         "text": "preliminary info that the former Voronezh Military Aviation Engineering University and an adjacent military aircraft parking area were hit"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: TASS",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "Occupied Donetsk obl. (EST — places not stated; plotted Donetsk)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "dpr-20261020-14-attacks-2-injured",
         "url": "https://tass.com/politics/2204409",
         "text": "13 houses, 7 civilian infrastructure objects and vehicles damaged"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Oleshky district, occupied Kherson obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "miroshnik-20261020-oleshky-733-rounds",
         "url": "https://tass.com/politics/2204775",
         "text": "drones also hit homes in Tarasivka, Nova Maiachka, Kostohryzove, Vynohradove, Podo-Kalynivka, Pryvitne"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: Kyiv Independent",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "St Petersburg port / oil terminal (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ki-20261018-st-petersburg-port-strike",
         "url": "https://kyivindependent.com/flames-explosions-reported-amid-large-ukrainian-drone-attack-on-st-petersburg/",
         "text": "port infrastructure, oil tankers and a data centre (VK) reportedly targeted, large fires"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: Al Jazeera",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "St Petersburg — oil terminal / Ruchyi depot / Kolpino warehouses (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "beglov-20261018-st-petersburg-1-killed",
         "url": "https://www.aljazeera.com/news/2026/10/18/ukrainian-drone-attack-on-russias-st-petersburg-kills-1-hits-energy-sites",
         "text": "fires at the St Petersburg Oil Terminal, Ruchyi oil depot and Kolpino industrial warehouses"
        },
        {
         "id": "beglov-20261018-st-petersburg-1-killed",
         "url": "https://www.aljazeera.com/news/2026/10/18/ukrainian-drone-attack-on-russias-st-petersburg-kills-1-hits-energy-sites",
         "text": "12 apartment blocks and 2 houses damaged"
        },
        {
         "id": "beglov-20261018-st-petersburg-1-killed",
         "url": "https://www.aljazeera.com/news/2026/10/18/ukrainian-drone-attack-on-russias-st-petersburg-kills-1-hits-energy-sites",
         "text": "Ozon logistics centre and VK data centre (Novosergievka, Vsevolozhsk dist.) also hit"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: wargonzo",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "Voroshylovskyi district, occupied Donetsk",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "wargonzo-20261020-donetsk-voroshylovskyi-drones",
         "url": "https://t.me/wargonzo/37762",
         "text": "administrative and residential buildings and vehicles damaged, one civilian injured, part of the city without power"
        },
        {
         "id": "wargonzo-20261020-donetsk-voroshylovskyi-drones",
         "url": "https://t.me/wargonzo/37762",
         "text": "UA sources report a data centre at 60 Postysheva St was destroyed"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: Ukrinform",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "60 Postysheva St, occupied Donetsk (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "donetsk-20261020-data-centre-postysheva",
         "url": "https://www.ukrinform.net/rubric-ato/4176318-data-center-attacked-overnight-in-russianoccupied-donetsk.html",
         "text": "Ukrinform citing Petro Andriushchenko (Center for the Study of the Occupation): the Ugletelecom / Elecom data centre at 60 Postysheva St in occupied Donetsk was attacked overnight and \"no longer exists\""
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Ukrainian military units / commands",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "Sloviansk direction (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "81amb-20261020-sloviansk-constant-assault",
         "url": "https://suspilne.media/donbas/1432323-tut-sucilnij-sturm-vijskovij-pro-situaciu-na-slovanskomu-napramku/",
         "text": "RU uses fog and rain to move small assault groups, most destroyed by drones before reaching infantry"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: Interfax",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-23",
       "loc": "Zaporizhzhia NPP / Enerhodar (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-interfax-20261023-znpp-infra",
         "url": "https://t.me/interfaxonline/80599",
         "text": "Rosatom head Likhachev (via Interfax): Ukrainian forces again attacked ZNPP infrastructure, damaging a print shop and transport facility"
        }
       ]
      }
     ]
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Russian regional officials",
     "low": 16,
     "high": 16,
     "nClaims": 17,
     "nEvents": 16,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "RU MoD",
     "low": 12,
     "high": 12,
     "nClaims": 12,
     "nEvents": 12,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Ukraine GenStaff / MoD",
     "low": 6,
     "high": 6,
     "nClaims": 6,
     "nEvents": 6,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 5,
     "high": 5,
     "nClaims": 5,
     "nEvents": 5,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: TASS",
     "low": 5,
     "high": 5,
     "nClaims": 5,
     "nEvents": 5,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Independent analysts / OSINT",
     "low": 5,
     "high": 5,
     "nClaims": 5,
     "nEvents": 5,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: tass_agency",
     "low": 4,
     "high": 4,
     "nClaims": 4,
     "nEvents": 4,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: interfaxonline",
     "low": 3,
     "high": 3,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Kyiv Independent",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: wargonzo",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Russian military units / milbloggers",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: AMK_Mapping_",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Al Jazeera",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Meduza",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Kyiv Post",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Ukrinform",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Ukrainian military units / commands",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Interfax",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "mun:air_strikes",
     "category": "Strikes launched against",
     "label": "Launched against: Air strikes / raids",
     "claimant": "Ukrainian military units / commands",
     "low": 180.0,
     "high": 180.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Sumy oblast (EST — plotted Sumy)",
       "lo": 180.0,
       "hi": 180.0,
       "refs": [
        {
         "id": "suspilne-20261019-sumy-180-kabs-8dshv",
         "url": "https://suspilne.media/sumy/1431049-za-persu-polovinu-zovtna-sumsina-zaznala-majze-180-udariv-kabami-8-korpus-dsv/",
         "text": "UA 8th Air Assault Corps (via Suspilne Sumy): ~180 KAB strikes on Sumy oblast in the first half of October (June 503, July 390, Aug 414, Sept 398)"
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "RU MoD",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "number of claim records in which this claimant says ground was taken from this side",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Zolotyi Kolodiaz / Novotroitske / Petrivka, Donetsk obl. (EST — plotted Zolotyi Kolodiaz)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "bureviy-20261017-refutes-dobropillia-captures",
         "url": "https://t.me/bureviy_brigade/5556",
         "text": "NGU Bureviy brigade: RF MoD claims of capturing Zolotyi Kolodiaz, Novotroitske and Petrivka are false; all three under control of Bureviy and other Defence Forces units; RU small infantry groups infiltrate to raise flags for video. Unverified / EST — INFO/SA only."
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Dobropillia, Donetsk obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261020-dobropillia-marines-200-uav-cps",
         "url": "https://t.me/mod_russia/68367",
         "text": "RF MoD: Center GoF marines destroyed \"about 200\" Ukrainian UAV control points during the \"liberation of Dobropillia\", plus 20+ depots and ~150 deployment points; quotes UAS chiefs of the 177th Regiment and 61st Naval Infantry Brigade. Restates the RU claim that Dobropillia was captured — denied the "
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Independent analysts / OSINT",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "number of claim records in which this claimant says ground was taken from this side",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Kostiantynivka / Tykhonivka (EST — plotted Kostiantynivka)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "isw-20261017-kostiantynivka-tykhonivka",
         "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-17-2026",
         "text": "ISW/CTP citing UA observer Mashovets: UA cleared RU infiltrators in Tykhonivka (east of Kramatorsk); UA holds Rozkishne; RU infiltrated Molocharka and operates in Novodmytrivka (north of Kostiantynivka); RU has not fully seized Kostiantynivka, UA holds northern/central parts. Unverified / EST — INFO"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kolodiazi, NE of Lyman (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "isw-20261018-kolodiazi-vivaldi",
         "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-18-2026",
         "text": "ISW 18 Oct relaying a UA unmanned-systems battalion officer (via Suspilne): during Operation Vivaldi mechanized UA forces encircled Kolodiazi (NE of Lyman) and liberated it without urban combat. Date of the operation not stated in this item. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Ukrainian President / Cabinet",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "number of claim records in which this claimant says ground was taken from this side",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Dobropillia, Donetsk obl. (EST — list of places)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "zelensky-20261018-holds-dobropillia-list",
         "url": "https://t.me/GeneralStaffZSU/42622",
         "text": "Zelensky (after C-in-C Drapatyi report, relayed by UA General Staff): Dobropillia, Kostiantynivka, Oleksiievo-Druzhkivka, Orikhiv, Novopavlivka, Novoandriivka and Velykomykhailivka are all under Ukrainian control; RU assaults and infiltrations in Dobropillia being destroyed; fighting 20 km from Zapo"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Kostiantynivka / Dobropillia, Donetsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "x-euromaidan-20261019-gerasimov-92-vs-zelensky",
         "url": "https://x.com/EuromaidanPress/status/2112282143242027067",
         "text": "Euromaidan Press (X): Gerasimov says RU troops have taken 92 settlements since September incl. Kostiantynivka and Dobropillia; Zelensky says both are still Ukrainian and that since autumn began Ukraine has liberated more territory than Russia captured. Unverified / EST — INFO/SA only. Not for target"
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Ukrainian military units / commands",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "number of claim records in which this claimant says ground was taken from this side",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Zolotyi Kolodiaz / Novotroitske / Petrivka (Donetsk obl.)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "azov-20261017-denies-three-settlements-dobropillia",
         "url": "https://www.ukrinform.net/rubric-ato/4175428-azov-regiment-denies-russian-claims-of-capturing-three-settlements-near-dobropillia.html",
         "text": "Azov Corps: RF MoD claims to have captured Zolotyi Kolodiaz, Novotroitske and Petrivka (NE of Dobropillia) are untrue; all three remain under control of the Bureviy Brigade and other units; RU small infantry groups infiltrate to film flag-raising videos and are being neutralised. Unverified / EST — "
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Media report: voin_dv",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "number of claim records in which this claimant says ground was taken from this side",
     "events": [
      {
       "date": "2026-10-21",
       "loc": "Omelnyk (NW part), Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "voindv-20261021-38-omsbr-omelnyk-pows",
         "url": "https://t.me/voin_dv/21686",
         "text": "Voin DV: 38th Guards MRB soldiers say that while clearing the north-western part of Omelnyk on 17 Oct they found a UA position and 8 soldiers surrendered; a captured UA squad leader is named as from the 121st TDF brigade. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      }
     ]
    }
   ],
   "lossesSufferedBy": "Russia",
   "civilianLine": "Civilians in Russia / Russian-occupied areas: civilians killed 5 (claimed by Media report: TASS, 3 claims); civilians killed 1 (claimed by Media report: Al Jazeera, 1 claim); civilians killed 1 (claimed by Media report: Meduza, 1 claim); civilians killed 3 (claimed by Media report: wargonzo, 1 claim); civilians killed 4–22 (claimed by Russian regional officials, 1 claim); civilians killed 3 (claimed by Media report: tass_agency, 1 claim); civilians wounded / injured 78–234 (claimed by Russian regional officials, 8 claims); civilians wounded / injured 12 (claimed by Media report: TASS, 3 claims); civilians wounded / injured 5 (claimed by Media report: Al Jazeera, 1 claim); civilians wounded / injured 15 (claimed by Media report: Meduza, 1 claim); civilians wounded / injured 1 (claimed by Media report: wargonzo, 1 claim); civilians wounded / injured 2 (claimed by Media report: interfaxonline, 1 claim); civilians wounded / injured 2 (claimed by Ukrainian local / regional officials & emergency services, 1 claim); civilian casualties (split not stated) 127 (claimed by Media report: interfaxonline, 1 claim); civilian casualties (split not stated) 163 (claimed by Ukrainian local / regional officials & emergency services, 1 claim). CLAIMED, UNVERIFIED.",
   "officialTallies": [
    {
     "target": "Russia",
     "metric": "casualties_unspec",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff daily tally of claimed Russian losses",
     "area": null,
     "days": [
      {
       "date": "2026-10-17",
       "lo": 1950.0,
       "hi": 1950.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "ua-genstaff-20261017-gs0800-238-clashes",
         "url": "https://t.me/GeneralStaffZSU/42611",
         "text": "RU losses claimed 1,950. Unverified / EST"
        }
       ]
      }
     ],
     "lo": 1950.0,
     "hi": 1950.0,
     "nClaims": 1
    },
    {
     "target": "Russia",
     "metric": "mun:ground_attacks",
     "claimant": "Media report: TASS",
     "series": "Media report: TASS — daily / past-24h figures",
     "area": "Occupied Donetsk obl. (EST)",
     "days": [
      {
       "date": "2026-10-19",
       "lo": 8.0,
       "hi": 8.0,
       "loc": "Occupied Donetsk obl. (EST)",
       "refs": [
        {
         "id": "tass-20261019-dpr-8-attacks",
         "url": "https://tass.com/defense/2203889",
         "text": "TASS citing the DPR occupation \"department documenting Ukraine's war crimes\": 8 Ukrainian attacks on the \"DPR\" in the past day (11 projectiles), 1 civilian killed, damage to a truck, a car and two infrastructure facilities"
        }
       ]
      }
     ],
     "lo": 8.0,
     "hi": 8.0,
     "nClaims": 1
    }
   ]
  },
  "Unclear": {
   "side": "Unclear",
   "label": "Side unclear (target/victim not stated or not parseable)",
   "civLabel": "Civilians — side unclear",
   "rows": [
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: Ukrinform",
     "low": 1.0,
     "high": 1.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Sloviansk, Donetsk obl. (EST)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "ukrinform-20261017-sloviansk-fab",
         "url": "https://www.ukrinform.net/rubric-ato/4175379-russian-fab-bombs-hit-highrise-buildings-in-sloviansk-killing-one-person-and-injuring-ten-others.html",
         "text": "1 killed, 10 injured"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: Ukrinform",
     "low": 12.0,
     "high": 20.0,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": true,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Sloviansk, Donetsk obl. (EST)",
       "lo": 10.0,
       "hi": 16.0,
       "refs": [
        {
         "id": "ukrinform-20261017-sloviansk-fab",
         "url": "https://www.ukrinform.net/rubric-ato/4175379-russian-fab-bombs-hit-highrise-buildings-in-sloviansk-killing-one-person-and-injuring-ten-others.html",
         "text": "1 killed, 10 injured"
        },
        {
         "id": "ukrinform-20261017-sloviansk-fab",
         "url": "https://www.ukrinform.net/rubric-ato/4175379-russian-fab-bombs-hit-highrise-buildings-in-sloviansk-killing-one-person-and-injuring-ten-others.html",
         "text": "16 injured in the city over 24 h"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Velykyi Burluk – Nova Oleksandrivka road, Kharkiv obl. (EST — plotted Velykyi Burluk)",
       "lo": 2.0,
       "hi": 4.0,
       "refs": [
        {
         "id": "ukrinform-20261018-velykyi-burluk-minibus",
         "url": "https://www.ukrinform.net/rubric-ato/4175625-russian-drone-strikes-minibus-in-kharkiv-region-injuring-two.html",
         "text": "Kupiansk district MA head Kanashevych (via Ukrinform): UAV hit a minibus on the Velykyi Burluk–Nova Oleksandrivka road ~08:30, injuring 2"
        },
        {
         "id": "ukrinform-20261018-velykyi-burluk-minibus",
         "url": "https://www.ukrinform.net/rubric-ato/4175625-russian-drone-strikes-minibus-in-kharkiv-region-injuring-two.html",
         "text": "UP: 4 injured in two drone attacks on vehicles in Kharkiv Oblast"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: tass_agency",
     "low": 3.0,
     "high": 3.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Leningrad obl. — Vsevolozhsk dist. / Gatchina (EST — plotted Vsevolozhsk)",
       "lo": 3.0,
       "hi": 3.0,
       "refs": [
        {
         "id": "tass-20261018-leningrad-10-injured",
         "url": "https://t.me/tass_agency/400940",
         "text": "RIA/Drozdenko: woman and 3 children injured in Vsevolozhsk district, debris on an apartment block in Gatchina, two transformer substations off in Yanino"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: Suspilne Chernihiv",
     "low": 2001.0,
     "high": 2001.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "Central Novhorod-Siverskyi, Chernihiv obl.",
       "lo": 2001.0,
       "hi": 2001.0,
       "refs": [
        {
         "id": "novhorod-siverskyi-20261020-molniya",
         "url": "https://suspilne.media/chernihiv/1432437-rosijskij-bpla-tipu-molnia-vluciv-u-centri-novgoroda-siverskogo/",
         "text": "a woman born 2001 injured"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:aircraft",
     "category": "Equipment / infrastructure",
     "label": "Aircraft",
     "claimant": "Media report: NOELreports",
     "low": 2,
     "high": 2,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Black Sea off Sulina, Romania (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "noel-20261017-romania-f16-two-drones",
         "url": "https://x.com/NOELreports/status/2111557143203876888",
         "text": "Romanian MoD (via NOELreports/KI): two F-16s shot down two jet-powered Geran-type drones that entered Romanian airspace over the Black Sea"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:drones",
     "category": "Equipment / infrastructure",
     "label": "Drones / UAVs",
     "claimant": "Media report: tass_agency",
     "low": 95.0,
     "high": 95.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Leningrad obl. — Kirovsk / Vsevolozhsk (EST — plotted Vsevolozhsk)",
       "lo": 95.0,
       "hi": 95.0,
       "refs": [
        {
         "id": "tass-20261018-leningrad-95-uav-debris",
         "url": "https://t.me/tass_agency/400879",
         "text": "Leningrad obl. governor Drozdenko: 95 UAVs downed over the region overnight Oct 18"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:drones",
     "category": "Equipment / infrastructure",
     "label": "Drones / UAVs",
     "claimant": "Media report: Kyiv Independent",
     "low": 176.0,
     "high": 176.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-23",
       "loc": "Ukraine-wide (pinned Lozova, EST)",
       "lo": 176.0,
       "hi": 176.0,
       "refs": [
        {
         "id": "ki-20261023-energy-8-killed-67",
         "url": "https://kyivindependent.com/energy-facilities-across-ukraine-targeted-as-russian-attacks-kill-at-least-8-injure-67-over-past-day/",
         "text": "176 drones launched (140 downed)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Media report: tass_agency",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Leningrad obl. — Vsevolozhsk dist. / Gatchina (EST — plotted Vsevolozhsk)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tass-20261018-leningrad-10-injured",
         "url": "https://t.me/tass_agency/400940",
         "text": "RIA/Drozdenko: woman and 3 children injured in Vsevolozhsk district, debris on an apartment block in Gatchina, two transformer substations off in Yanino"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Media report: RBC_ua_news",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "St Petersburg / Leningrad obl. (EST — plotted VK data centre area)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rbc-20261018-firepoint-fp1-spb",
         "url": "https://t.me/RBC_ua_news/209199",
         "text": "FP-1 drones hit the VK data centre, Ruchyi oil depot and the Petersburg Oil Terminal (12.5 Mt/yr)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Media report: dva_majors",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Kyiv (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "dvamajors-20261018-kyiv-chp-claim",
         "url": "https://t.me/dva_majors/100665",
         "text": "Two Majors: Kyiv partly without electricity after a series of strikes"
        },
        {
         "id": "dvamajors-20261018-kyiv-chp-claim",
         "url": "https://t.me/dva_majors/100665",
         "text": "\"reports\" of strikes on CHP-5, CHP-6 and substations"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: Ukrinform",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Sloviansk, Donetsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261017-sloviansk-fab",
         "url": "https://www.ukrinform.net/rubric-ato/4175379-russian-fab-bombs-hit-highrise-buildings-in-sloviansk-killing-one-person-and-injuring-ten-others.html",
         "text": "Sloviansk City Council (via Ukrinform): FAB-250 strikes at 03:40 on two high-rise buildings"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Velykyi Burluk – Nova Oleksandrivka road, Kharkiv obl. (EST — plotted Velykyi Burluk)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261018-velykyi-burluk-minibus",
         "url": "https://www.ukrinform.net/rubric-ato/4175625-russian-drone-strikes-minibus-in-kharkiv-region-injuring-two.html",
         "text": "a medical facility in Velykyi Burluk damaged"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: tass_agency",
     "low": 1,
     "high": 1,
     "nClaims": 2,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Leningrad obl. — Kirovsk / Vsevolozhsk (EST — plotted Vsevolozhsk)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tass-20261018-leningrad-95-uav-debris",
         "url": "https://t.me/tass_agency/400879",
         "text": "debris fell on a private house near Kirovsk and an apartment block in Vsevolozhsk"
        },
        {
         "id": "tass-20261018-leningrad-10-injured",
         "url": "https://t.me/tass_agency/400940",
         "text": "RIA/Drozdenko: woman and 3 children injured in Vsevolozhsk district, debris on an apartment block in Gatchina, two transformer substations off in Yanino"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: milinfolive",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Novomoskovsk (Samar) & Pidhorodne, Dnipropetrovsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "milinfo-20261019-rubikon-geran4-novomoskovsk-pidhorodne",
         "url": "https://t.me/milinfolive/181787",
         "text": "first footage shows strikes on a warehouse in Novomoskovsk and the Epicentr shopping centre in Pidhorodne (Dnipropetrovsk obl.)"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Grabtsevo industrial park, Kaluga (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "milinfo-20261020-yandex-kaluga-dc",
         "url": "https://t.me/milinfolive/181825",
         "text": "Military Informant: Yandex's largest data centre in Kaluga (Grabtsevo industrial park) was attacked by UA forces"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: RBC_ua_news",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "St Petersburg / Leningrad obl. (EST — plotted VK data centre area)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rbc-20261018-firepoint-fp1-spb",
         "url": "https://t.me/RBC_ua_news/209199",
         "text": "FP-1 drones hit the VK data centre, Ruchyi oil depot and the Petersburg Oil Terminal (12.5 Mt/yr)"
        },
        {
         "id": "rbc-20261018-firepoint-fp1-spb",
         "url": "https://t.me/RBC_ua_news/209199",
         "text": "fires at terminal and depot, serious damage to the data centre reported"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: Suspilne Chernihiv",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "Central Novhorod-Siverskyi, Chernihiv obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "novhorod-siverskyi-20261020-molniya",
         "url": "https://suspilne.media/chernihiv/1432437-rosijskij-bpla-tipu-molnia-vluciv-u-centri-novgoroda-siverskogo/",
         "text": "An FPV drone on fibre-optic also hit a house in Semenivka"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: Exilenova+",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-23",
       "loc": "Gorodets, Nizhny Novgorod obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-exilenova-20261023-gorodets-fns",
         "url": "https://t.me/exilenova_plus/33246",
         "text": "Exilenova+: footage of a strike on the Federal Tax Service (FNS) data centre in Gorodets overnight"
        }
       ]
      }
     ]
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 31,
     "high": 31,
     "nClaims": 32,
     "nEvents": 31,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "RU MoD",
     "low": 26,
     "high": 26,
     "nClaims": 26,
     "nEvents": 26,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Ukrainian military units / commands",
     "low": 8,
     "high": 8,
     "nClaims": 8,
     "nEvents": 8,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: milinfolive",
     "low": 6,
     "high": 6,
     "nClaims": 6,
     "nEvents": 6,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Ukrainian President / Cabinet",
     "low": 3,
     "high": 3,
     "nClaims": 4,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Russian military units / milbloggers",
     "low": 4,
     "high": 4,
     "nClaims": 4,
     "nEvents": 4,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Ukrinform",
     "low": 3,
     "high": 3,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: tass_agency",
     "low": 2,
     "high": 2,
     "nClaims": 3,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: dva_majors",
     "low": 3,
     "high": 3,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: suspilnenews",
     "low": 3,
     "high": 3,
     "nClaims": 3,
     "nEvents": 3,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: RBC_ua_news",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Ukraine GenStaff / MoD",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Suspilne Chernihiv",
     "low": 2,
     "high": 2,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Independent analysts / OSINT",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Ukrainska Pravda",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: NOELreports",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: wartranslated",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Kyiv Independent",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Al Jazeera",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: mon1tor_ua",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Media report: Exilenova+",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "count of strike/attack claim records against this side, deduped by UTC day + ~10 km area",
     "events": []
    },
    {
     "metric": "mun:drones",
     "category": "Strikes launched against",
     "label": "Launched against: Drones launched/engaged",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 1252.0,
     "high": 1252.0,
     "nClaims": 4,
     "nEvents": 4,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Kryvyi Rih / Dnipro (EST)",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "dnipro-ova-20261017-kryvyi-rih-dnipro",
         "url": "https://t.me/dnipropetrovskaODA/32638",
         "text": "Dnipropetrovsk OVA: almost 20 attacks on three districts with drones and missiles"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Zaporizhzhia obl. (EST — plotted Zaporizhzhia city)",
       "lo": 613.0,
       "hi": 613.0,
       "refs": [
        {
         "id": "zaporizhzhia-ova-20261020-848-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49077",
         "text": "14 air strikes, 613 UAVs (mostly FPV), 2 MLRS and 219 artillery strikes"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Zaporizhzhia obl. (EST — plotted Orikhiv)",
       "lo": 603.0,
       "hi": 603.0,
       "refs": [
        {
         "id": "zaporizhzhia-20261021-fedorov-795-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49089",
         "text": "30 air strikes, 603 UAVs (mostly FPV), 6 MLRS and 156 artillery strikes"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kharkiv (EST)",
       "lo": 33.0,
       "hi": 33.0,
       "refs": [
        {
         "id": "kharkiv-20261021-oblast-daily-24-injured",
         "url": "https://t.me/synegubov/26826",
         "text": "weapons used incl. 2 missiles, MLRS, 2 Molniya, 9 FPV, 33 UAVs"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:drones",
     "category": "Strikes launched against",
     "label": "Launched against: Drones launched/engaged",
     "claimant": "Media report: Ukrinform",
     "low": 2,
     "high": 2,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Velykyi Burluk – Nova Oleksandrivka road, Kharkiv obl. (EST — plotted Velykyi Burluk)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "ukrinform-20261018-velykyi-burluk-minibus",
         "url": "https://www.ukrinform.net/rubric-ato/4175625-russian-drone-strikes-minibus-in-kharkiv-region-injuring-two.html",
         "text": "UP: 4 injured in two drone attacks on vehicles in Kharkiv Oblast"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:drones",
     "category": "Strikes launched against",
     "label": "Launched against: Drones launched/engaged",
     "claimant": "Ukrainian military units / commands",
     "low": 210.0,
     "high": 210.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-22",
       "loc": "Ukraine-wide (EST — plotted Kyiv)",
       "lo": 210.0,
       "hi": 210.0,
       "refs": [
        {
         "id": "uaaf-20261022-night-181-downed",
         "url": "https://t.me/GeneralStaffZSU/42655",
         "text": "UA Air Force (via General Staff channel): overnight combined strike with Iskander-M/S-400/Zircon/Onyx missiles and 210 Shahed-type drones (incl. 110 jet), main direction Kyiv"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:missiles",
     "category": "Strikes launched against",
     "label": "Launched against: Missiles launched/engaged",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 4.0,
     "high": 4.0,
     "nClaims": 2,
     "nEvents": 2,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-21",
       "loc": "Kharkiv (EST)",
       "lo": 2.0,
       "hi": 2.0,
       "refs": [
        {
         "id": "kharkiv-20261021-oblast-daily-24-injured",
         "url": "https://t.me/synegubov/26826",
         "text": "weapons used incl. 2 missiles, MLRS, 2 Molniya, 9 FPV, 33 UAVs"
        }
       ]
      },
      {
       "date": "2026-10-23",
       "loc": "Kharkiv (Osnovianskyi / Slobidskyi) and Zlatopil, Kharkiv obl. (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "ukrinform-20261023-kharkiv-zlatopil-strikes",
         "url": "https://www.ukrinform.net/rubric-ato/4177430-russian-strikes-hit-kharkiv-zlatopil-and-nova-vodolaha-sparking-fires-and-causing-damage.html",
         "text": "Ukrinform: strikes on Kharkiv (Slobidskyi and Osnovianskyi districts), two missiles on Zlatopil, a \"Banderol\" missile on Nova Vodolaha, warehouse fire in Bezliudivka"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:missiles",
     "category": "Strikes launched against",
     "label": "Launched against: Missiles launched/engaged",
     "claimant": "RU MoD",
     "low": 6,
     "high": 6,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Kryvyi Rih / Zaporizhzhia / Zhytomyr (EST — plotted Zaporizhzhia)",
       "lo": 6,
       "hi": 6,
       "refs": [
        {
         "id": "rf-mod-20261017-massive-strike-kryvyi-rih-zaporizhzhia-zhytomyr",
         "url": "https://t.me/mod_russia/68294",
         "text": "Zaporizhstal (via UP/NOEL) reports six ballistic missiles, fifth attack, no casualties"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:missiles",
     "category": "Strikes launched against",
     "label": "Launched against: Missiles launched/engaged",
     "claimant": "Media report: Ukrinform",
     "low": 6,
     "high": 6,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Zaporizhstal, Zaporizhzhia (EST)",
       "lo": 6,
       "hi": 6,
       "refs": [
        {
         "id": "ukrinform-20261017-zaporizhstal-ballistic",
         "url": "https://www.ukrinform.net/rubric-economy/4175466-russian-forces-strike-zaporizhstal-steel-plant-with-ballistic-missiles-causing-damage.html",
         "text": "Zaporizhstal press service: six ballistic missiles launched at the plant early Oct 17"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:air_strikes",
     "category": "Strikes launched against",
     "label": "Launched against: Air strikes / raids",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 1091.0,
     "high": 2061.0,
     "nClaims": 6,
     "nEvents": 6,
     "sourcesDisagree": true,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-18",
       "loc": "Zaporizhzhia obl. (EST — plotted Zaporizhzhia)",
       "lo": 808.0,
       "hi": 808.0,
       "refs": [
        {
         "id": "fedorov-20261018-zaporizhzhia-808-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49068",
         "text": "808 strikes on 53 settlements"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Zaporizhzhia oblast front (EST — plotted Orikhiv)",
       "lo": 211.0,
       "hi": 211.0,
       "refs": [
        {
         "id": "zp-ova-20261019-738-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49069",
         "text": "Zaporizhzhia city, 5 MLRS attacks on Orikhiv and Novoselivka, 211 artillery strikes"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Zaporizhzhia obl. (EST — plotted Zaporizhzhia city)",
       "lo": 14.0,
       "hi": 219.0,
       "refs": [
        {
         "id": "zaporizhzhia-ova-20261020-848-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49077",
         "text": "14 air strikes, 613 UAVs (mostly FPV), 2 MLRS and 219 artillery strikes"
        },
        {
         "id": "zaporizhzhia-ova-20261020-848-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49077",
         "text": "14 air strikes, 613 UAVs (mostly FPV), 2 MLRS and 219 artillery strikes"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Novobavarskyi district, Kharkiv",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "kharkiv-20261020-novobavarskyi-dsns-9-injured",
         "url": "https://t.me/ukrinform_news/171853",
         "text": "two strikes on residential and civilian infrastructure in Novobavarskyi district, one private house destroyed"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Zaporizhzhia obl. (EST — plotted Orikhiv)",
       "lo": 30.0,
       "hi": 795.0,
       "refs": [
        {
         "id": "zaporizhzhia-20261021-fedorov-795-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49089",
         "text": "Zaporizhzhia OVA (Fedorov) daily: 795 strikes on 59 settlements"
        },
        {
         "id": "zaporizhzhia-20261021-fedorov-795-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49089",
         "text": "30 air strikes, 603 UAVs (mostly FPV), 6 MLRS and 156 artillery strikes"
        },
        {
         "id": "zaporizhzhia-20261021-fedorov-795-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49089",
         "text": "30 air strikes, 603 UAVs (mostly FPV), 6 MLRS and 156 artillery strikes"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "loc": "Kramatorsk (EST)",
       "lo": 26.0,
       "hi": 26.0,
       "refs": [
        {
         "id": "donetsk-20261021-filashkin-kramatorsk-4-killed",
         "url": "https://t.me/VadymFilashkin/18794",
         "text": "26 strikes on Donetsk-oblast settlements"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:air_strikes",
     "category": "Strikes launched against",
     "label": "Launched against: Air strikes / raids",
     "claimant": "Media report: TASS",
     "low": 556.0,
     "high": 556.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-20",
       "loc": "Oleshky district, occupied Kherson obl.",
       "lo": 556.0,
       "hi": 556.0,
       "refs": [
        {
         "id": "miroshnik-20261020-oleshky-733-rounds",
         "url": "https://tass.com/politics/2204775",
         "text": "733 artillery/mortar rounds and 556 drone strikes recorded in Oleshky during daylight"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:ground_attacks",
     "category": "Strikes launched against",
     "label": "Launched against: Ground attacks / engagements",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 38.0,
     "high": 38.0,
     "nClaims": 4,
     "nEvents": 4,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-17",
       "loc": "Kryvyi Rih / Dnipro (EST)",
       "lo": 20.0,
       "hi": 20.0,
       "refs": [
        {
         "id": "dnipro-ova-20261017-kryvyi-rih-dnipro",
         "url": "https://t.me/dnipropetrovskaODA/32638",
         "text": "Dnipropetrovsk OVA: almost 20 attacks on three districts with drones and missiles"
        }
       ]
      },
      {
       "date": "2026-10-18",
       "loc": "Dnipro / Synelnykove district, Dnipropetrovsk obl. (EST — plotted Dnipro)",
       "lo": 10.0,
       "hi": 10.0,
       "refs": [
        {
         "id": "dnipro-ova-20261018-synelnykove-dnipro",
         "url": "https://t.me/dnipropetrovskaODA/32658",
         "text": "Dnipropetrovsk OVA: overnight 3 injured, >10 attacks on three districts (Dnipro infrastructure and cars damaged"
        }
       ]
      },
      {
       "date": "2026-10-19",
       "loc": "Zaporizhzhia oblast front (EST — plotted Orikhiv)",
       "lo": 5.0,
       "hi": 5.0,
       "refs": [
        {
         "id": "zp-ova-20261019-738-strikes",
         "url": "https://t.me/ivan_fedorov_zp/49069",
         "text": "Zaporizhzhia city, 5 MLRS attacks on Orikhiv and Novoselivka, 211 artillery strikes"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "loc": "Kramatorsk, Donetsk obl.",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "kramatorsk-20261020-3-killed-2-injured-up",
         "url": "https://www.pravda.com.ua/eng/news/2026/10/21/8058891/",
         "text": "May overlap with kramatorsk-20261020-3-heat-workers-killed (Suspilne: 4 killed, 6 injured in three attacks)"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:ground_attacks",
     "category": "Strikes launched against",
     "label": "Launched against: Ground attacks / engagements",
     "claimant": "Russian regional officials",
     "low": 72.0,
     "high": 72.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-19",
       "loc": "Kursk obl. (RU) (EST — plotted Kursk)",
       "lo": 72.0,
       "hi": 72.0,
       "refs": [
        {
         "id": "kursk-gov-20261019-258-uav",
         "url": "https://t.me/dva_majors/100671",
         "text": "72 artillery attacks on evacuated areas, 15 drone-dropped munition attacks"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:ground_attacks",
     "category": "Strikes launched against",
     "label": "Launched against: Ground attacks / engagements",
     "claimant": "Media report: Ukrinform",
     "low": 60.0,
     "high": 60.0,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "per-event sum; repeat reports of one event (same UTC day, ~10 km area, claimant) counted once; range = lowest–highest figure per event",
     "events": [
      {
       "date": "2026-10-22",
       "loc": "Hlukhiv, Sumy obl. (EST)",
       "lo": 60.0,
       "hi": 60.0,
       "refs": [
        {
         "id": "ukrinform-20261022-hlukhiv-hospital-uav",
         "url": "https://www.ukrinform.net/rubric-ato/4177070-russian-drone-hits-hospital-in-hlukhiv.html",
         "text": "~60 attacks on 26 Sumy-oblast settlements in 24 h"
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Media report: voin_dv",
     "low": 1,
     "high": 1,
     "nClaims": 1,
     "nEvents": 1,
     "sourcesDisagree": false,
     "basis": "number of claim records in which this claimant says ground was taken from this side",
     "events": [
      {
       "date": "2026-10-21",
       "loc": "Chervonyi Yar, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "voindv-20261021-155-nir-chervonyi-yar",
         "url": "https://t.me/voin_dv/21680",
         "text": "Voin DV (Vostok channel): guardsmen of the 155th Naval Infantry Regiment (55th Marine Division, 5th Army) claim to have captured Chervonyi Yar; claims UA losses up to a company of the 225th assault regiment. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      }
     ]
    }
   ],
   "lossesSufferedBy": "Unclear",
   "civilianLine": "Civilians — side unclear: civilians killed 1 (claimed by Media report: Ukrinform, 1 claim); civilians wounded / injured 12–20 (claimed by Media report: Ukrinform, 2 claims); civilians wounded / injured 3 (claimed by Media report: tass_agency, 1 claim); civilians wounded / injured 2,001 (claimed by Media report: Suspilne Chernihiv, 1 claim). CLAIMED, UNVERIFIED.",
   "officialTallies": [
    {
     "target": "Unclear",
     "metric": "mun:drones",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
     "area": null,
     "days": [
      {
       "date": "2026-10-19",
       "lo": 4911.0,
       "hi": 9154.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261019-0800-204-clashes",
         "url": "https://t.me/GeneralStaffZSU/42625",
         "text": "273 KABs, 9154 kamikaze drones used by RU the previous day"
        },
        {
         "id": "uags-20261019-2200-177-clashes",
         "url": "https://t.me/GeneralStaffZSU/42630",
         "text": "1 missile and 47 air strikes, 171 KABs, 4911 kamikaze drones, 1775 shellings"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "lo": 5881.0,
       "hi": 5881.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261020-2200-229-clashes",
         "url": "https://t.me/GeneralStaffZSU/42638",
         "text": "64 air strikes, 223 KABs, 5,881 kamikaze drones, 1,925 shellings"
        }
       ]
      }
     ],
     "lo": 10792.0,
     "hi": 15035.0,
     "nClaims": 3
    },
    {
     "target": "Unclear",
     "metric": "mun:guided_bombs",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
     "area": null,
     "days": [
      {
       "date": "2026-10-19",
       "lo": 171.0,
       "hi": 273.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261019-0800-204-clashes",
         "url": "https://t.me/GeneralStaffZSU/42625",
         "text": "273 KABs, 9154 kamikaze drones used by RU the previous day"
        },
        {
         "id": "uags-20261019-2200-177-clashes",
         "url": "https://t.me/GeneralStaffZSU/42630",
         "text": "1 missile and 47 air strikes, 171 KABs, 4911 kamikaze drones, 1775 shellings"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "lo": 223.0,
       "hi": 223.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261020-2200-229-clashes",
         "url": "https://t.me/GeneralStaffZSU/42638",
         "text": "64 air strikes, 223 KABs, 5,881 kamikaze drones, 1,925 shellings"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "lo": 302.0,
       "hi": 302.0,
       "loc": "Front line (EST — plotted Donetsk axis)",
       "refs": [
        {
         "id": "uags-20261021-0800-269-clashes",
         "url": "https://t.me/GeneralStaffZSU/42640",
         "text": "86 air strikes with 302 guided bombs"
        }
       ]
      }
     ],
     "lo": 696.0,
     "hi": 798.0,
     "nClaims": 4
    },
    {
     "target": "Unclear",
     "metric": "mun:missiles",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
     "area": null,
     "days": [
      {
       "date": "2026-10-19",
       "lo": 1.0,
       "hi": 1.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261019-2200-177-clashes",
         "url": "https://t.me/GeneralStaffZSU/42630",
         "text": "1 missile and 47 air strikes, 171 KABs, 4911 kamikaze drones, 1775 shellings"
        }
       ]
      }
     ],
     "lo": 1.0,
     "hi": 1.0,
     "nClaims": 1
    },
    {
     "target": "Unclear",
     "metric": "mun:air_strikes",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
     "area": null,
     "days": [
      {
       "date": "2026-10-19",
       "lo": 47.0,
       "hi": 47.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261019-2200-177-clashes",
         "url": "https://t.me/GeneralStaffZSU/42630",
         "text": "1 missile and 47 air strikes, 171 KABs, 4911 kamikaze drones, 1775 shellings"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "lo": 64.0,
       "hi": 64.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261020-2200-229-clashes",
         "url": "https://t.me/GeneralStaffZSU/42638",
         "text": "64 air strikes, 223 KABs, 5,881 kamikaze drones, 1,925 shellings"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "lo": 86.0,
       "hi": 86.0,
       "loc": "Front line (EST — plotted Donetsk axis)",
       "refs": [
        {
         "id": "uags-20261021-0800-269-clashes",
         "url": "https://t.me/GeneralStaffZSU/42640",
         "text": "86 air strikes with 302 guided bombs"
        }
       ]
      }
     ],
     "lo": 197.0,
     "hi": 197.0,
     "nClaims": 3
    },
    {
     "target": "Unclear",
     "metric": "mun:artillery",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
     "area": null,
     "days": [
      {
       "date": "2026-10-19",
       "lo": 1775.0,
       "hi": 1775.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261019-2200-177-clashes",
         "url": "https://t.me/GeneralStaffZSU/42630",
         "text": "1 missile and 47 air strikes, 171 KABs, 4911 kamikaze drones, 1775 shellings"
        }
       ]
      },
      {
       "date": "2026-10-20",
       "lo": 1925.0,
       "hi": 1925.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261020-2200-229-clashes",
         "url": "https://t.me/GeneralStaffZSU/42638",
         "text": "64 air strikes, 223 KABs, 5,881 kamikaze drones, 1,925 shellings"
        }
       ]
      }
     ],
     "lo": 3700.0,
     "hi": 3700.0,
     "nClaims": 2
    },
    {
     "target": "Unclear",
     "metric": "mun:ground_attacks",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
     "area": null,
     "days": [
      {
       "date": "2026-10-20",
       "lo": 12.0,
       "hi": 26.0,
       "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
       "refs": [
        {
         "id": "uags-20261020-0800-206-clashes",
         "url": "https://t.me/GeneralStaffZSU/42633",
         "text": "South Slobozhanskyi 26 attacks (Kutkivka, Lyman, Starytsia, Mala Vovcha, Izbytske, Vilcha, Okhrimivka, Zakharivka, Karaichne, Bochkove, Zybyne, Radkivka)"
        },
        {
         "id": "uags-20261020-2200-229-clashes",
         "url": "https://t.me/GeneralStaffZSU/42638",
         "text": "South-Slobozhanskyi 12 attacks (Ternova, Starytsia, Blahodatne, Symynivka, Vovchanski Khutory, Zakharivka, Okhrimivka, Volokhivske, Vilkhuvatka, Chuhunivka"
        }
       ]
      },
      {
       "date": "2026-10-21",
       "lo": 37.0,
       "hi": 37.0,
       "loc": "Front line (EST — plotted Donetsk axis)",
       "refs": [
        {
         "id": "uags-20261021-0800-269-clashes",
         "url": "https://t.me/GeneralStaffZSU/42640",
         "text": "heaviest fighting on Kostiantynivka (37 attacks), Pokrovsk (30) and Huliaipole (20) axes"
        }
       ]
      }
     ],
     "lo": 49.0,
     "hi": 63.0,
     "nClaims": 3
    }
   ]
  }
 },
 "totalsNote": "totalsBySide[side] = losses SUFFERED by that side (target/victim parsed from claim text + claimant), credited to the claimant; 'Unclear' = victim side not determinable. Not based on the map's claim side tags.",
 "officialTallies": [
  {
   "target": "Russia",
   "metric": "casualties_unspec",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff daily tally of claimed Russian losses",
   "area": null,
   "days": [
    {
     "date": "2026-10-17",
     "lo": 1950.0,
     "hi": 1950.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "ua-genstaff-20261017-gs0800-238-clashes",
       "url": "https://t.me/GeneralStaffZSU/42611",
       "text": "RU losses claimed 1,950. Unverified / EST"
      }
     ]
    }
   ],
   "lo": 1950.0,
   "hi": 1950.0,
   "nClaims": 1
  },
  {
   "target": "Ukraine",
   "metric": "casualties_unspec",
   "claimant": "RU MoD",
   "series": "RU MoD daily tally of claimed Ukrainian losses",
   "area": null,
   "days": [
    {
     "date": "2026-10-18",
     "lo": 1185.0,
     "hi": 1185.0,
     "loc": "Front-wide (EST — plotted Donetsk)",
     "refs": [
      {
       "id": "rfmod-20261018-daily-no-new-captures",
       "url": "https://t.me/interfaxonline/80303",
       "text": "UA losses ~1,185 across all groupings"
      }
     ]
    },
    {
     "date": "2026-10-19",
     "lo": 1235.0,
     "hi": 1235.0,
     "loc": "Front-wide (EST — plotted Zaporizhzhia direction)",
     "refs": [
      {
       "id": "rfmod-20261019-daily-summary-405-uav",
       "url": "https://tass.com/politics/2204097",
       "text": "UA losses ~1,235. Unverified / EST"
      }
     ]
    }
   ],
   "lo": 2420.0,
   "hi": 2420.0,
   "nClaims": 2
  },
  {
   "target": "Russia",
   "metric": "mun:ground_attacks",
   "claimant": "Media report: TASS",
   "series": "Media report: TASS — daily / past-24h figures",
   "area": "Occupied Donetsk obl. (EST)",
   "days": [
    {
     "date": "2026-10-19",
     "lo": 8.0,
     "hi": 8.0,
     "loc": "Occupied Donetsk obl. (EST)",
     "refs": [
      {
       "id": "tass-20261019-dpr-8-attacks",
       "url": "https://tass.com/defense/2203889",
       "text": "TASS citing the DPR occupation \"department documenting Ukraine's war crimes\": 8 Ukrainian attacks on the \"DPR\" in the past day (11 projectiles), 1 civilian killed, damage to a truck, a car and two infrastructure facilities"
      }
     ]
    }
   ],
   "lo": 8.0,
   "hi": 8.0,
   "nClaims": 1
  },
  {
   "target": "Unclear",
   "metric": "mun:drones",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-19",
     "lo": 4911.0,
     "hi": 9154.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261019-0800-204-clashes",
       "url": "https://t.me/GeneralStaffZSU/42625",
       "text": "273 KABs, 9154 kamikaze drones used by RU the previous day"
      },
      {
       "id": "uags-20261019-2200-177-clashes",
       "url": "https://t.me/GeneralStaffZSU/42630",
       "text": "1 missile and 47 air strikes, 171 KABs, 4911 kamikaze drones, 1775 shellings"
      }
     ]
    },
    {
     "date": "2026-10-20",
     "lo": 5881.0,
     "hi": 5881.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261020-2200-229-clashes",
       "url": "https://t.me/GeneralStaffZSU/42638",
       "text": "64 air strikes, 223 KABs, 5,881 kamikaze drones, 1,925 shellings"
      }
     ]
    }
   ],
   "lo": 10792.0,
   "hi": 15035.0,
   "nClaims": 3
  },
  {
   "target": "Unclear",
   "metric": "mun:guided_bombs",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-19",
     "lo": 171.0,
     "hi": 273.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261019-0800-204-clashes",
       "url": "https://t.me/GeneralStaffZSU/42625",
       "text": "273 KABs, 9154 kamikaze drones used by RU the previous day"
      },
      {
       "id": "uags-20261019-2200-177-clashes",
       "url": "https://t.me/GeneralStaffZSU/42630",
       "text": "1 missile and 47 air strikes, 171 KABs, 4911 kamikaze drones, 1775 shellings"
      }
     ]
    },
    {
     "date": "2026-10-20",
     "lo": 223.0,
     "hi": 223.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261020-2200-229-clashes",
       "url": "https://t.me/GeneralStaffZSU/42638",
       "text": "64 air strikes, 223 KABs, 5,881 kamikaze drones, 1,925 shellings"
      }
     ]
    },
    {
     "date": "2026-10-21",
     "lo": 302.0,
     "hi": 302.0,
     "loc": "Front line (EST — plotted Donetsk axis)",
     "refs": [
      {
       "id": "uags-20261021-0800-269-clashes",
       "url": "https://t.me/GeneralStaffZSU/42640",
       "text": "86 air strikes with 302 guided bombs"
      }
     ]
    }
   ],
   "lo": 696.0,
   "hi": 798.0,
   "nClaims": 4
  },
  {
   "target": "Unclear",
   "metric": "mun:missiles",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-19",
     "lo": 1.0,
     "hi": 1.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261019-2200-177-clashes",
       "url": "https://t.me/GeneralStaffZSU/42630",
       "text": "1 missile and 47 air strikes, 171 KABs, 4911 kamikaze drones, 1775 shellings"
      }
     ]
    }
   ],
   "lo": 1.0,
   "hi": 1.0,
   "nClaims": 1
  },
  {
   "target": "Unclear",
   "metric": "mun:air_strikes",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-19",
     "lo": 47.0,
     "hi": 47.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261019-2200-177-clashes",
       "url": "https://t.me/GeneralStaffZSU/42630",
       "text": "1 missile and 47 air strikes, 171 KABs, 4911 kamikaze drones, 1775 shellings"
      }
     ]
    },
    {
     "date": "2026-10-20",
     "lo": 64.0,
     "hi": 64.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261020-2200-229-clashes",
       "url": "https://t.me/GeneralStaffZSU/42638",
       "text": "64 air strikes, 223 KABs, 5,881 kamikaze drones, 1,925 shellings"
      }
     ]
    },
    {
     "date": "2026-10-21",
     "lo": 86.0,
     "hi": 86.0,
     "loc": "Front line (EST — plotted Donetsk axis)",
     "refs": [
      {
       "id": "uags-20261021-0800-269-clashes",
       "url": "https://t.me/GeneralStaffZSU/42640",
       "text": "86 air strikes with 302 guided bombs"
      }
     ]
    }
   ],
   "lo": 197.0,
   "hi": 197.0,
   "nClaims": 3
  },
  {
   "target": "Unclear",
   "metric": "mun:artillery",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-19",
     "lo": 1775.0,
     "hi": 1775.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261019-2200-177-clashes",
       "url": "https://t.me/GeneralStaffZSU/42630",
       "text": "1 missile and 47 air strikes, 171 KABs, 4911 kamikaze drones, 1775 shellings"
      }
     ]
    },
    {
     "date": "2026-10-20",
     "lo": 1925.0,
     "hi": 1925.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261020-2200-229-clashes",
       "url": "https://t.me/GeneralStaffZSU/42638",
       "text": "64 air strikes, 223 KABs, 5,881 kamikaze drones, 1,925 shellings"
      }
     ]
    }
   ],
   "lo": 3700.0,
   "hi": 3700.0,
   "nClaims": 2
  },
  {
   "target": "Ukraine",
   "metric": "mun:ground_attacks",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-19",
     "lo": 9.0,
     "hi": 9.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261019-2200-177-clashes",
       "url": "https://t.me/GeneralStaffZSU/42630",
       "text": "Lyman 9 attacks repelled (Novomykhailivka, Druzheliubivka, Chervonyi Stav, Zelena Dolyna, Lyman)"
      }
     ]
    }
   ],
   "lo": 9.0,
   "hi": 9.0,
   "nClaims": 1
  },
  {
   "target": "Ukraine",
   "metric": "mun:air_strikes",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "series": "Ukrainian local / regional officials & emergency services — daily / past-24h figures",
   "area": "Zaporizhzhia obl. (EST — plotted Zaporizhzhia city)",
   "days": [
    {
     "date": "2026-10-20",
     "lo": 848.0,
     "hi": 848.0,
     "loc": "Zaporizhzhia obl. (EST — plotted Zaporizhzhia city)",
     "refs": [
      {
       "id": "zaporizhzhia-ova-20261020-848-strikes",
       "url": "https://t.me/ivan_fedorov_zp/49077",
       "text": "Zaporizhzhia OVA (Fedorov): over the past day RU made 848 strikes on 52 settlements"
      }
     ]
    }
   ],
   "lo": 848.0,
   "hi": 848.0,
   "nClaims": 1
  },
  {
   "target": "Ukraine",
   "metric": "mun:drones",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-20",
     "lo": 8784.0,
     "hi": 8784.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261020-0800-206-clashes",
       "url": "https://t.me/GeneralStaffZSU/42633",
       "text": "RU used 1 missile and 63 air strikes (217 KABs), 8,784 kamikaze drones, 2,607 shellings"
      }
     ]
    },
    {
     "date": "2026-10-23",
     "lo": 10313.0,
     "hi": 10313.0,
     "loc": "Front-wide (pinned Pokrovsk direction, EST)",
     "refs": [
      {
       "id": "tg-genstaff-20261023-0800-165-clashes",
       "url": "https://t.me/GeneralStaffZSU/42660",
       "text": "RU used 239 guided bombs and 10,313 kamikaze drones"
      }
     ]
    }
   ],
   "lo": 19097.0,
   "hi": 19097.0,
   "nClaims": 2
  },
  {
   "target": "Ukraine",
   "metric": "mun:missiles",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-20",
     "lo": 1.0,
     "hi": 1.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261020-0800-206-clashes",
       "url": "https://t.me/GeneralStaffZSU/42633",
       "text": "RU used 1 missile and 63 air strikes (217 KABs), 8,784 kamikaze drones, 2,607 shellings"
      }
     ]
    }
   ],
   "lo": 1.0,
   "hi": 1.0,
   "nClaims": 1
  },
  {
   "target": "Ukraine",
   "metric": "mun:air_strikes",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-20",
     "lo": 63.0,
     "hi": 63.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261020-0800-206-clashes",
       "url": "https://t.me/GeneralStaffZSU/42633",
       "text": "RU used 1 missile and 63 air strikes (217 KABs), 8,784 kamikaze drones, 2,607 shellings"
      }
     ]
    }
   ],
   "lo": 63.0,
   "hi": 63.0,
   "nClaims": 1
  },
  {
   "target": "Ukraine",
   "metric": "mun:guided_bombs",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-20",
     "lo": 217.0,
     "hi": 217.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261020-0800-206-clashes",
       "url": "https://t.me/GeneralStaffZSU/42633",
       "text": "RU used 1 missile and 63 air strikes (217 KABs), 8,784 kamikaze drones, 2,607 shellings"
      }
     ]
    },
    {
     "date": "2026-10-23",
     "lo": 239.0,
     "hi": 239.0,
     "loc": "Front-wide (pinned Pokrovsk direction, EST)",
     "refs": [
      {
       "id": "tg-genstaff-20261023-0800-165-clashes",
       "url": "https://t.me/GeneralStaffZSU/42660",
       "text": "RU used 239 guided bombs and 10,313 kamikaze drones"
      }
     ]
    }
   ],
   "lo": 456.0,
   "hi": 456.0,
   "nClaims": 2
  },
  {
   "target": "Ukraine",
   "metric": "mun:artillery",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-20",
     "lo": 2607.0,
     "hi": 2607.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261020-0800-206-clashes",
       "url": "https://t.me/GeneralStaffZSU/42633",
       "text": "RU used 1 missile and 63 air strikes (217 KABs), 8,784 kamikaze drones, 2,607 shellings"
      }
     ]
    }
   ],
   "lo": 2607.0,
   "hi": 2607.0,
   "nClaims": 1
  },
  {
   "target": "Unclear",
   "metric": "mun:ground_attacks",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-20",
     "lo": 12.0,
     "hi": 26.0,
     "loc": "Front-wide (EST — plotted Pokrovsk/Dobropillia direction)",
     "refs": [
      {
       "id": "uags-20261020-0800-206-clashes",
       "url": "https://t.me/GeneralStaffZSU/42633",
       "text": "South Slobozhanskyi 26 attacks (Kutkivka, Lyman, Starytsia, Mala Vovcha, Izbytske, Vilcha, Okhrimivka, Zakharivka, Karaichne, Bochkove, Zybyne, Radkivka)"
      },
      {
       "id": "uags-20261020-2200-229-clashes",
       "url": "https://t.me/GeneralStaffZSU/42638",
       "text": "South-Slobozhanskyi 12 attacks (Ternova, Starytsia, Blahodatne, Symynivka, Vovchanski Khutory, Zakharivka, Okhrimivka, Volokhivske, Vilkhuvatka, Chuhunivka"
      }
     ]
    },
    {
     "date": "2026-10-21",
     "lo": 37.0,
     "hi": 37.0,
     "loc": "Front line (EST — plotted Donetsk axis)",
     "refs": [
      {
       "id": "uags-20261021-0800-269-clashes",
       "url": "https://t.me/GeneralStaffZSU/42640",
       "text": "heaviest fighting on Kostiantynivka (37 attacks), Pokrovsk (30) and Huliaipole (20) axes"
      }
     ]
    }
   ],
   "lo": 49.0,
   "hi": 63.0,
   "nClaims": 3
  }
 ],
 "components": [
  {
   "claim_id": "ua-genstaff-20261017-gs0800-238-clashes",
   "date": "2026-10-17",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 30.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42611",
   "clause": "Pokrovsk direction 30 attacks (Toretske, Hruzke, Vilne, Kucheriv Yar, Svitle, Dobropillia, Serhiivka, Molodetske, Novopavlivka, Marivka)"
  },
  {
   "claim_id": "rf-mod-20261017-summary-eight-settlements",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 654.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://www.interfax.ru/russia/1123168",
   "clause": "654 UAVs and a HIMARS rocket downed"
  },
  {
   "claim_id": "uags-20261017-2200-215-clashes",
   "date": "2026-10-17",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 28.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42616",
   "clause": "Pokrovsk direction 28 attacks (Dobropillia, Dorozhnie, Hannivka, Chernihivka, Vodianske, Krasnopodillia, Myrne, Serhiivka, Molodetske, Mykolaivka, Muravka, Novopavlivka)"
  },
  {
   "claim_id": "rfmod-20261018-daily-no-new-captures",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 1256.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/interfaxonline/80303",
   "clause": "7 Flamingo missiles and 1,256 UAVs downed"
  },
  {
   "claim_id": "rfmod-20261018-daily-no-new-captures",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:missiles",
   "value": 7.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/interfaxonline/80303",
   "clause": "7 Flamingo missiles and 1,256 UAVs downed"
  },
  {
   "claim_id": "uags-20261018-2200-173-clashes",
   "date": "2026-10-18",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 22.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42623",
   "clause": "Pokrovsk direction 22 attacks (Matiasheve, Molodetske, toward Toretske, Vilne, Novyi Donbas, Svitle, Dobropillia, Myrne, Serhiivka, Filiia)"
  },
  {
   "claim_id": "uags-20261019-0800-204-clashes",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 30.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42625",
   "clause": "Pokrovsk direction 30 attacks (Matiasheve, Molodetske, toward Toretske, Vilne, Novyi Donbas, Svitle, Dobropillia, Myrne, Serhiivka, Filiia)"
  },
  {
   "claim_id": "voindv-20261019-omelnyk-38gmrb",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:armor",
   "value": 14.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/voin_dv/21650",
   "clause": "claims >400 buildings cleared, 27 km² defence area, losses to UA 92nd OShBr (company+), 14 AFVs, 30+ robotic platforms, 75 Baba-Yaga hexacopters"
  },
  {
   "claim_id": "rfmod-20261019-daily-summary-405-uav",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 405.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://tass.com/politics/2204097",
   "clause": "405 UAVs downed in 24 h"
  },
  {
   "claim_id": "rfmod-20261019-yug-5-ugv-kramatorsk",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:vehicles",
   "value": 5,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68347",
   "clause": "RF MoD: Yug (Southern) GoF UAS operators destroyed five Ukrainian ground robotic systems on the Kramatorsk direction"
  },
  {
   "claim_id": "biletsky-20261019-vivaldi-summary-277km2",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "casualties_unspec",
   "value": 8000.0,
   "qual": ">",
   "target": "Russia",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://suspilne.media/donbas/1431767-bileckij-pidsumuvav-vivaldi-so-rozkazav-pro-slovansk-kramatorsk-taemnicu-ta-uspih-na-lugansini/",
   "clause": "RU losses >8,000 during the offensive, ~270 POWs incl. >20 officers"
  },
  {
   "claim_id": "biletsky-20261019-vivaldi-summary-277km2",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "captured",
   "value": 270.0,
   "qual": "~",
   "target": "Russia",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://suspilne.media/donbas/1431767-bileckij-pidsumuvav-vivaldi-so-rozkazav-pro-slovansk-kramatorsk-taemnicu-ta-uspih-na-lugansini/",
   "clause": "RU losses >8,000 during the offensive, ~270 POWs incl. >20 officers"
  },
  {
   "claim_id": "voindv-20261020-tymoshivka-114-mrr",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:armor",
   "value": 8.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/voin_dv/21667",
   "clause": "claims a 6 km² defence area taken and a company of the UA 225th Separate Assault Regiment destroyed, plus 8 AFVs, 17 UGVs and 33 Baba Yaga hexacopters"
  },
  {
   "claim_id": "voindv-20261020-tymoshivka-114-mrr",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:vehicles",
   "value": 17.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/voin_dv/21667",
   "clause": "claims a 6 km² defence area taken and a company of the UA 225th Separate Assault Regiment destroyed, plus 8 AFVs, 17 UGVs and 33 Baba Yaga hexacopters"
  },
  {
   "claim_id": "rfmod-20261020-daily-summary-383-uav",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 383.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://tass.com/politics/2204695",
   "clause": "383 UAVs downed in 24 h"
  },
  {
   "claim_id": "uags-20261021-2200-165-clashes",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 6512.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42649",
   "clause": "49 air strikes, 165 guided bombs, 6,512 kamikaze drones"
  },
  {
   "claim_id": "uags-20261021-2200-165-clashes",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 49.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42649",
   "clause": "49 air strikes, 165 guided bombs, 6,512 kamikaze drones"
  },
  {
   "claim_id": "uags-20261021-2200-165-clashes",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 165.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42649",
   "clause": "49 air strikes, 165 guided bombs, 6,512 kamikaze drones"
  },
  {
   "claim_id": "uags-20261021-2200-165-clashes",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 19.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42649",
   "clause": "heaviest fighting on the Pokrovsk axis (19 attacks near Sofiivka, Dobropillia, Bilytske, Molodetske and toward Vilne, Kucheriv Yar, Hannivka, Svitle, Krasnopodillia, Serhiivka, Muravka)"
  },
  {
   "claim_id": "uags-20261022-2200-146-clashes",
   "date": "2026-10-22",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 13.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42658",
   "clause": "13 attacks on Pokrovsk axis (Sofiivka, Vilne, Novyi Donbas, Myrne, Serhiivka, Molodetske), 10 on Huliaipole axis, 6 on Kostiantynivka axis, 5 on Lyman axis, 11 on North-Slobozhanskyi axis"
  },
  {
   "claim_id": "tg-genstaff-20261023-0800-165-clashes",
   "date": "2026-10-23",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 15.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42660",
   "clause": "15 attacks stopped in Pokrovsk direction, 12 in Huliaipole, 11 in Kostiantynivka, 14 in South-Slobozhanskyi, 5 in Lyman"
  }
 ],
 "aggregates": [
  {
   "claim_id": "amk-20261017-admiral-makarov-kalibr",
   "date": "2026-10-17",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 6.0,
   "qual": "~",
   "target": "Russia",
   "civilian": false,
   "scope": "earlier event (before window)",
   "claimant": "Media report: AMK_Mapping_",
   "url": "https://x.com/AMK_Mapping_/status/2111354059785687514",
   "clause": "AMK Mapping (X): the repaired frigate Admiral Makarov (damaged by UA drones Aug 12) launched ~6 Kalibr cruise missiles at Kryvyi Rih today"
  },
  {
   "claim_id": "ukrinform-20261017-vinnytsia-blackout",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://www.ukrinform.net/rubric-ato/4175377-vinnytsia-region-endures-one-of-russias-largest-attacks-since-start-of-fullscale-invasion.html",
   "clause": "Zelensky: 15+ energy facilities hit nationwide (Lutsk, Rivne, Zhytomyr, Vinnytsia, Shepetivka, Slavuta, Netishyn)"
  },
  {
   "claim_id": "ifx-20261018-moscow-512-drones",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 512.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Media report: interfaxonline",
   "url": "https://t.me/interfaxonline/80294",
   "clause": "Sobyanin (via Interfax): since Saturday morning 512 drones flew toward the Moscow region, most destroyed on distant approaches"
  },
  {
   "claim_id": "zelensky-20261018-energy-76-strikes",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21421",
   "clause": "overnight Oct 18 substations hit in Vinnytsia, Zhytomyr, Khmelnytskyi and Odesa oblasts"
  },
  {
   "claim_id": "zelensky-20261018-energy-76-strikes",
   "date": "2026-10-18",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 2700.0,
   "qual": "~",
   "target": "Unclear",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21421",
   "clause": "past week ~2,700 strike drones, 1,700 glide bombs, 66 missiles"
  },
  {
   "claim_id": "zelensky-20261018-energy-76-strikes",
   "date": "2026-10-18",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 66.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21421",
   "clause": "past week ~2,700 strike drones, 1,700 glide bombs, 66 missiles"
  },
  {
   "claim_id": "zelensky-20261018-energy-76-strikes",
   "date": "2026-10-18",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 1700.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21421",
   "clause": "past week ~2,700 strike drones, 1,700 glide bombs, 66 missiles"
  },
  {
   "claim_id": "up-20261018-sloviansk-6-killed",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 7.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058595/",
   "clause": "KI: Donetsk Oblast total 7 killed, 14 injured (Filashkin)"
  },
  {
   "claim_id": "up-20261018-sloviansk-6-killed",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 14.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058595/",
   "clause": "KI: Donetsk Oblast total 7 killed, 14 injured (Filashkin)"
  },
  {
   "claim_id": "ki-20261018-kherson-32-injured",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 32.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/russian-drones-hit-western-ukraine-as-nationwide-attacks-kill-10-injure-73/",
   "clause": "Kyiv Independent nationwide roundup: Russian attacks in Kherson Oblast injured 32 incl. one child (Prokudin)"
  },
  {
   "claim_id": "ki-20261018-kherson-32-injured",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/russian-drones-hit-western-ukraine-as-nationwide-attacks-kill-10-injure-73/",
   "clause": "Sumy Oblast 2 killed / 5 injured"
  },
  {
   "claim_id": "ki-20261018-kherson-32-injured",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 5.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/russian-drones-hit-western-ukraine-as-nationwide-attacks-kill-10-injure-73/",
   "clause": "Sumy Oblast 2 killed / 5 injured"
  },
  {
   "claim_id": "ki-20261018-kherson-32-injured",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/russian-drones-hit-western-ukraine-as-nationwide-attacks-kill-10-injure-73/",
   "clause": "Chernihiv Oblast 1 injured"
  },
  {
   "claim_id": "ki-20261018-kherson-32-injured",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 10.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/russian-drones-hit-western-ukraine-as-nationwide-attacks-kill-10-injure-73/",
   "clause": "nationwide 10 killed, 73 injured"
  },
  {
   "claim_id": "ki-20261018-kherson-32-injured",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 73.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/russian-drones-hit-western-ukraine-as-nationwide-attacks-kill-10-injure-73/",
   "clause": "nationwide 10 killed, 73 injured"
  },
  {
   "claim_id": "meduza-20261019-spb-1-killed-15-injured",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: Meduza",
   "url": "https://meduza.io/en/feature/2026/10/19/in-pictures-biggest-ukrainian-drone-attack-yet-on-st-petersburg-and-leningrad-region-kills-1-injures-15-and-sparks-many-fires",
   "clause": "Meduza: the 18 Oct Ukrainian drone attack on St Petersburg and Leningrad oblast (largest there so far) hit a port oil terminal, the Ruchyi oil depot, an Ozon warehouse, a VK data centre, the Vostochnaya substation, a cable-stayed bridge and a hospital"
  },
  {
   "claim_id": "meduza-20261019-spb-1-killed-15-injured",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: Meduza",
   "url": "https://meduza.io/en/feature/2026/10/19/in-pictures-biggest-ukrainian-drone-attack-yet-on-st-petersburg-and-leningrad-region-kills-1-injures-15-and-sparks-many-fires",
   "clause": "Meduza: the 18 Oct Ukrainian drone attack on St Petersburg and Leningrad oblast (largest there so far) hit a port oil terminal, the Ruchyi oil depot, an Ozon warehouse, a VK data centre, the Vostochnaya substation, a cable-stayed bridge and a hospital"
  },
  {
   "claim_id": "ki-20261019-4-killed-55-injured",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 4.0,
   "qual": "at least",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/3-killed-53-injured-in-russian-attacks-across-ukraine-over-past-day-as-550-000-households-lose-power/",
   "clause": "Kyiv Independent roll-up: at least 4 killed and 55 injured across Ukraine over the past day per regional authorities"
  },
  {
   "claim_id": "ki-20261019-4-killed-55-injured",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 55.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/3-killed-53-injured-in-russian-attacks-across-ukraine-over-past-day-as-550-000-households-lose-power/",
   "clause": "Kyiv Independent roll-up: at least 4 killed and 55 injured across Ukraine over the past day per regional authorities"
  },
  {
   "claim_id": "ki-20261020-16-killed-69-injured",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 16.0,
   "qual": "at least",
   "target": "Unclear",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/at-least-14-killed-71-injured-in-russian-attacks-across-ukraine-over-past-day-as-russian-drone-kills-2-children-in-park/",
   "clause": "Kyiv Independent roll-up: at least 16 killed and 69 injured across Ukraine over the past day (Nova Vodolaha park 6 incl. 2 children"
  },
  {
   "claim_id": "ki-20261020-16-killed-69-injured",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 69.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/at-least-14-killed-71-injured-in-russian-attacks-across-ukraine-over-past-day-as-russian-drone-kills-2-children-in-park/",
   "clause": "Kyiv Independent roll-up: at least 16 killed and 69 injured across Ukraine over the past day (Nova Vodolaha park 6 incl. 2 children"
  },
  {
   "claim_id": "ki-20261020-16-killed-69-injured",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 12.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/at-least-14-killed-71-injured-in-russian-attacks-across-ukraine-over-past-day-as-russian-drone-kills-2-children-in-park/",
   "clause": "Ukrenergo reports new outages in 12 oblasts after attacks on energy"
  },
  {
   "claim_id": "kyiv-20261020-daytime-drones-energy-1-killed-12-injured",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176435-russian-attacks-leave-one-dead-12-injured-in-kyiv-since-midnight.html",
   "clause": "Ukrinform / Kyiv City Health Department: RU attacks on Kyiv since midnight left one dead and 12 injured (6 hospitalised)"
  },
  {
   "claim_id": "kyiv-20261020-daytime-drones-energy-1-killed-12-injured",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 12.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176435-russian-attacks-leave-one-dead-12-injured-in-kyiv-since-midnight.html",
   "clause": "Ukrinform / Kyiv City Health Department: RU attacks on Kyiv since midnight left one dead and 12 injured (6 hospitalised)"
  },
  {
   "claim_id": "kyiv-20261020-daytime-drones-energy-1-killed-12-injured",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176435-russian-attacks-leave-one-dead-12-injured-in-kyiv-since-midnight.html",
   "clause": "Ukrinform / Kyiv City Health Department: RU attacks on Kyiv since midnight left one dead and 12 injured (6 hospitalised)"
  },
  {
   "claim_id": "tass-20261020-znpp-bus-drone",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 10.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: tass_agency",
   "url": "https://t.me/tass_agency/401337",
   "clause": "the plant says 10 employees have been killed and about 40 injured by AFU strikes since April"
  },
  {
   "claim_id": "tass-20261020-znpp-bus-drone",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 40.0,
   "qual": "about",
   "target": "Russia",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: tass_agency",
   "url": "https://t.me/tass_agency/401337",
   "clause": "the plant says 10 employees have been killed and about 40 injured by AFU strikes since April"
  },
  {
   "claim_id": "nato-20261020-black-sea-patrol-aircraft",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:vehicles",
   "value": 2,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "earlier event (before window)",
   "claimant": "Media report: Al Jazeera",
   "url": "https://www.aljazeera.com/news/2026/10/20/nato-to-send-additional-patrol-planes-to-black-sea-after-drone-attacks",
   "clause": "Al Jazeera / AFP / Reuters: NATO is deploying additional patrol aircraft and intelligence personnel to the Black Sea after a series of deadly drone attacks on shipping (e.g. two cargo ships hit off Bulgaria on 13 Oct)"
  },
  {
   "claim_id": "nato-20261020-black-sea-patrol-aircraft",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:ships",
   "value": 1,
   "qual": "single (no number stated)",
   "target": "Unclear",
   "civilian": false,
   "scope": "earlier event (before window)",
   "claimant": "Media report: Al Jazeera",
   "url": "https://www.aljazeera.com/news/2026/10/20/nato-to-send-additional-patrol-planes-to-black-sea-after-drone-attacks",
   "clause": "Al Jazeera / AFP / Reuters: NATO is deploying additional patrol aircraft and intelligence personnel to the Black Sea after a series of deadly drone attacks on shipping (e.g. two cargo ships hit off Bulgaria on 13 Oct)"
  },
  {
   "claim_id": "kyiv-20261021-sviatoshynskyi-2-killed",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 9.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/russian-attacks-kill-at-least-9-wound-45-across-ukraine-as-yet-another-deadly-drone-attack-strikes-kyiv/",
   "clause": "Nationwide RU attacks killed at least 9 and wounded 45 over the past day"
  },
  {
   "claim_id": "kyiv-20261021-sviatoshynskyi-2-killed",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 45.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/russian-attacks-kill-at-least-9-wound-45-across-ukraine-as-yet-another-deadly-drone-attack-strikes-kyiv/",
   "clause": "Nationwide RU attacks killed at least 9 and wounded 45 over the past day"
  }
 ],
 "territory": {
  "layer": {
   "baseline": [
    "2026-10-16T14:04:00Z",
    "/workspace/claim-maps-reports/snapshots/ukraine-russia/2026-10-16"
   ],
   "nSnapshots": 1,
   "terrChanges": [],
   "newUnits": [
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-110-mrb",
     "name": "110th Separate Guards Motor Rifle Brigade (claimed)",
     "side": "Russia",
     "loc": "Dobropillia, Donetsk obl. (EST — claimed)",
     "echelon": "unit",
     "url": "https://t.me/tass_agency/401000",
     "status": "official_statement"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-177-nir",
     "name": "177th Separate Guards Naval Infantry Regiment (claimed)",
     "side": "Russia",
     "loc": "Dobropillia area, Donetsk obl. — claimed (EST, RF MoD)",
     "echelon": "unit",
     "url": "https://t.me/mod_russia/68465",
     "status": "official_statement"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-69-covering-bde",
     "name": "69th Separate Covering Brigade (Vostok GoF) — claimed",
     "side": "Russia",
     "loc": "Velykomykhailivka, Dnipropetrovsk obl. (EST — RF MoD claim)",
     "echelon": "brigade",
     "url": "https://t.me/voin_dv/21660",
     "status": "official_statement"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-otf-south",
     "name": "Operation Task Force South (UA)",
     "side": "Ukraine",
     "loc": "Orikhiv / Preobrazhenka / Tavriiske, Zaporizhzhia obl. (EST — plotted Orikhiv)",
     "echelon": "command",
     "url": "https://www.ukrinform.net/rubric-ato/4175480-russian-forces-aim-to-capture-orikhiv-by-end-of-october-ukrainian-military-says.html",
     "status": "official_statement"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-ngu-bureviy",
     "name": "NGU Bureviy Brigade (UA)",
     "side": "Ukraine",
     "loc": "Zolotyi Kolodiaz / Novotroitske / Petrivka, NE of Dobropillia (EST — plotted Zolotyi Kolodiaz)",
     "echelon": "brigade",
     "url": "https://t.me/bureviy_brigade/5556",
     "status": "official_statement"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-74-mrb",
     "name": "74th Separate Guards Motor Rifle Brigade (claimed, Dobropillia dir.)",
     "side": "Russia",
     "loc": "Zolotyi Kolodiaz, NE of Dobropillia (EST — milblogger claim)",
     "echelon": "brigade",
     "url": "https://t.me/motopatriot78/56947",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-ngu-lasar",
     "name": "NGU Lasar's Group special forces detachment (UA)",
     "side": "Ukraine",
     "loc": "Kherson obl. (site not stated; EST)",
     "echelon": "battalion",
     "url": "https://www.pravda.com.ua/eng/news/2026/10/17/8058526/",
     "status": "official_statement"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-1021-ad-bde",
     "name": "1021st Air Defense Missile and Artillery Brigade (UA)",
     "side": "Ukraine",
     "loc": "Location not stated (EST — plotted Kyiv)",
     "echelon": "brigade",
     "url": "https://x.com/NOELreports/status/2111561961456464174",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-26-mrr",
     "name": "26th Motor Rifle Regiment (RU) — UAV operators, claimed",
     "side": "Russia",
     "loc": "Kramatorsk (drone strikes on city centre; ground position not stated) (EST)",
     "echelon": "regiment",
     "url": "https://t.me/dva_majors/100640",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-439-mrr",
     "name": "439th Motor Rifle Regiment (RU) — UAV platoon, Dobropillia direction (fundraiser)",
     "side": "Russia",
     "loc": "Dobropillia direction (direction only; plotted Dobropillia) (EST)",
     "echelon": "regiment",
     "url": "https://t.me/dva_majors/100677",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-488-mrr",
     "name": "488th Motor Rifle Regiment (RU) — Lyman direction (fundraiser)",
     "side": "Russia",
     "loc": "Lyman direction (direction only; plotted E of Lyman) (EST)",
     "echelon": "regiment",
     "url": "https://t.me/motopatriot78/56962",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-43-ombr",
     "name": "43rd Separate Mechanized Brigade (UA) — 2nd Mech Bn, Kupiansk direction",
     "side": "Ukraine",
     "loc": "Kupiansk direction (direction only; plotted Kupiansk) (EST)",
     "echelon": "brigade",
     "url": "https://t.me/zvizdecmanhustu/3653",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-47-td",
     "name": "47th Tank Division (1st Guards Tank Army) — Borova sector (claimed)",
     "side": "Russia",
     "loc": "Borova sector, Kharkiv obl. (sector only; EST)",
     "echelon": "division",
     "url": "https://t.me/grvZapad/20154",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-68-mrd",
     "name": "68th Motorized Rifle Division (RU) — Kupiansk direction (claimed)",
     "side": "Russia",
     "loc": "Kupiansk direction (direction only; plotted Kupiansk) (EST)",
     "echelon": "division",
     "url": "https://t.me/grvZapad/20141",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-77-uas-regt",
     "name": "77th Separate Unmanned Systems Regiment (Vostok GoF) — claimed",
     "side": "Russia",
     "loc": "Zaporizhzhia direction (direction only; EST sector pin)",
     "echelon": "regiment",
     "url": "https://t.me/voin_dv/21644",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-331-vdv-regt",
     "name": "331st Guards Airborne Regiment (98th VDV Division, Dnepr GoF)",
     "side": "Russia",
     "loc": "Oleshky area, Kherson left bank — TASS interview 23 Oct (EST)",
     "echelon": "regiment",
     "url": "https://t.me/tass_agency/401844",
     "status": "official_statement"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-148-mrr",
     "name": "148th Motorized Rifle Regiment (84th MRD, 3rd CAA) — per ISW",
     "side": "Russia",
     "loc": "Kostiantynivka direction (direction only; EST)",
     "echelon": "regiment",
     "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-18-2026",
     "status": "corroborated"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-82-odshbr",
     "name": "82nd Separate Air Assault Brigade (UA) — Oleksandrivka direction (RU claim)",
     "side": "Ukraine",
     "loc": "S of Kolomiitsi, Dnipropetrovsk obl. — per RU Vostok channel (EST)",
     "echelon": "brigade",
     "url": "https://t.me/voin_dv/21641",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-22-spetsnaz",
     "name": "22nd Separate Guards Special Purpose Brigade (GRU) — per UA 7th Air Assault Corps",
     "side": "Russia",
     "loc": "Huliaipole sector (sector only; EST)",
     "echelon": "brigade",
     "url": "https://www.ukrinform.net/rubric-ato/4175909-russian-forces-exploiting-bad-weather-in-bid-for-breakthroughs-near-huliaipole-ukraines-air-assault-forces.html",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-64-mrb",
     "name": "64th Separate Motor Rifle Brigade — per UA 7th Air Assault Corps",
     "side": "Russia",
     "loc": "Huliaipole axis (readiness report, sector only; EST)",
     "echelon": "brigade",
     "url": "https://t.me/voin_dv/21677",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-60-mrb",
     "name": "60th Separate Guards Motor Rifle Brigade (5th Army, Vostok GoF) — claimed",
     "side": "Russia",
     "loc": "Zaporizhzhia direction (direction only; EST sector pin)",
     "echelon": "brigade",
     "url": "https://t.me/voin_dv/21648",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-92-oshbr",
     "name": "92nd Separate Assault Brigade (UA)",
     "side": "Ukraine",
     "loc": "Kupiansk direction — UGV company drone casualty evacuation (EST); RU also names it at Omelnyk",
     "echelon": "brigade",
     "url": "https://t.me/RBC_ua_news/209306",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-169-mrb",
     "name": "169th Separate Motor Rifle Brigade (25th CAA) — per Mashovets",
     "side": "Russia",
     "loc": "E / SE of Lyman — 25th CAA zone (sector only; EST)",
     "echelon": "brigade",
     "url": "https://t.me/zvizdecmanhustu/3654",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-4-td",
     "name": "4th \"Kantemirovskaya\" Tank Division (1st TA) — per Mashovets",
     "side": "Russia",
     "loc": "Lyman direction reinforcement (sector only; EST)",
     "echelon": "division",
     "url": "https://t.me/zvizdecmanhustu/3654",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-423-mrr",
     "name": "423rd Motorized Rifle Regiment (RU) — Borova sector (per grvZapad)",
     "side": "Russia",
     "loc": "Borova sector, Kharkiv obl. (sector only; EST pin)",
     "echelon": "regiment",
     "url": "https://t.me/grvZapad/20148",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-72-uas-bde",
     "name": "72nd Unmanned Systems Brigade (Central GoF, RU) — per ISW / Two Majors",
     "side": "Russia",
     "loc": "Kramatorsk direction (direction only; EST pin)",
     "echelon": "brigade",
     "url": "https://t.me/dva_majors/100782",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-1-mrr-rvsn",
     "name": "1st Motorized Rifle Regiment (RVSN) with SpN \"Anvar\" — claimed",
     "side": "Russia",
     "loc": "Velykyi Burluk direction, Kharkiv obl. (direction only; EST pin)",
     "echelon": "regiment",
     "url": "https://t.me/dva_majors/100700",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-114-mrr-127",
     "name": "114th Guards Motor Rifle Regiment (127th MRD, 5th Army, Vostok) — claimed",
     "side": "Russia",
     "loc": "Tymoshivka area, Zaporizhzhia obl. (EST pin — claimed capture site)",
     "echelon": "regiment",
     "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-20-2026",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-225-osp",
     "name": "225th Separate Assault Regiment (UA) — per RU claim",
     "side": "Ukraine",
     "loc": "Chervonyi Yar area, Zaporizhzhia obl. (EST — RU claim)",
     "echelon": "regiment",
     "url": "https://t.me/voin_dv/21680",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-20-lubart",
     "name": "20th \"Lubart\" Brigade (1st Azov Corps, UA) — per X aggregator",
     "side": "Ukraine",
     "loc": "Approaches to Dobropillia (EST pin)",
     "echelon": "brigade",
     "url": "https://x.com/HojenoGMM/status/2112482751328702492",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-121-mrr",
     "name": "121st Motor Rifle Regiment (RU) — Kupiansk direction (per grvZapad)",
     "side": "Russia",
     "loc": "Kupiansk direction (direction only; EST pin)",
     "echelon": "regiment",
     "url": "https://t.me/grvZapad/20175",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-group10-hur",
     "name": "GROUP 10 — HUR Active Operations Department special unit (UA)",
     "side": "Ukraine",
     "loc": "Sumy obl. (region only; EST pin)",
     "echelon": "unit",
     "url": "https://kyivindependent.com/ukraines-hur-claims-108-russian-soldiers-killed-29-captured-in-sumy-oblast-operation/",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-81-amb",
     "name": "81st Separate Airmobile Brigade (UA)",
     "side": "Ukraine",
     "loc": "Sloviansk direction (direction only; EST pin)",
     "echelon": "brigade",
     "url": "https://suspilne.media/donbas/1432323-tut-sucilnij-sturm-vijskovij-pro-situaciu-na-slovanskomu-napramku/",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-413-raid",
     "name": "413th Unmanned Systems Regiment \"Raid\" (USF, UA)",
     "side": "Ukraine",
     "loc": "Occupied Zaporizhzhia obl. (region only; EST pin)",
     "echelon": "regiment",
     "url": "https://t.me/ukrinform_news/171866",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-154-recon-104",
     "name": "154th Separate Guards Reconnaissance Battalion (104th VDV Division) — claimed",
     "side": "Russia",
     "loc": "Western Zaporizhzhia obl. — Hryhorivske area (EST pin)",
     "echelon": "battalion",
     "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-20-2026",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-15-mrr-zapad",
     "name": "15th Motor Rifle Regiment (Zapad GoF, RU) — claimed",
     "side": "Russia",
     "loc": "Near Kruhliakivka, Kupiansk district, Kharkiv obl. (EST pin)",
     "echelon": "regiment",
     "url": "https://t.me/grvZapad/20155",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-26-rkhbz-36",
     "name": "26th NBC Defence (RKhBZ) Regiment (36th Army, Vostok GoF) — claimed",
     "side": "Russia",
     "loc": "Zaporizhzhia direction (EST pin — location not stated)",
     "echelon": "regiment",
     "url": "https://t.me/voin_dv/21676",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-56-ompbr",
     "name": "56th Separate Motorized Infantry Brigade (Ukraine) — per RU MoD strike claim",
     "side": "Ukraine",
     "loc": "Novoselivka, Donetsk obl. (EST — RU claim; which Novoselivka not stated)",
     "echelon": "brigade",
     "url": "https://t.me/mod_russia/68389",
     "status": "official_statement"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-121-tdf-bde",
     "name": "121st Territorial Defence Brigade (Ukraine) — per RU POW video",
     "side": "Ukraine",
     "loc": "Omelnyk, Zaporizhzhia obl. (EST — RU claim)",
     "echelon": "brigade",
     "url": "https://t.me/voin_dv/21686",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-328-vdv-regt",
     "name": "328th Guards Air Assault Regiment (VDV) — per RU MoD",
     "side": "Russia",
     "loc": "Yulivka, Zaporizhzhia obl. (EST — RU claim)",
     "echelon": "regiment",
     "url": "https://t.me/mod_russia/68404",
     "status": "official_statement"
    }
   ],
   "movedUnits": [
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-vostok",
     "name": "Eastern Grouping of Forces (Vostok) elements",
     "side": "Russia",
     "frm": "Zaporizhzhia obl. (EST — Vostok sector)",
     "to": "Velykomykhailivka, Dnipropetrovsk obl. (EST)",
     "km": 50,
     "url": "https://t.me/mod_russia/68431"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-dnepr-gof",
     "name": "'Dnepr' Grouping of Forces elements",
     "side": "Russia",
     "frm": "Dnepr GoF — Orikhiv / Preobrazhenka claim (EST)",
     "to": "Orikhiv / Malokaterynivka, Zaporizhzhia obl. (EST)",
     "km": 40,
     "url": "https://t.me/mod_russia/68404"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-blacksea",
     "name": "Black Sea Fleet remnants / naval assets",
     "side": "Russia",
     "frm": "Approaches to Chornomorsk — MoD claimed dry-cargo ship strike 8 Oct (EST)",
     "to": "Novorossiysk (EST)",
     "km": 574,
     "url": "https://x.com/AMK_Mapping_/status/2111354059785687514"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-azov-corps",
     "name": "Azov Corps (Ukraine)",
     "side": "Ukraine",
     "frm": "Hruzke / Novomykolaivka area — 12th SF Bde Azov 1st & 6th bns, Tuman det. (7 Oct EST)",
     "to": "Dobropillia area (EST)",
     "km": 20,
     "url": "https://x.com/azov_media/status/2112801521066787026"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-airforce-ad",
     "name": "Ukrainian Air Force / national AD (intercept reporting)",
     "side": "Ukraine",
     "frm": "National AD (Kyiv EST pin)",
     "to": "National AD — Kryvyi Rih / Zaporizhzhia / Dnipro tracks (EST)",
     "km": 351,
     "url": "https://t.me/GeneralStaffZSU/42641"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-south-gof",
     "name": "Southern Grouping of Forces elements",
     "side": "Russia",
     "frm": "Kostiantynivka / Kazenyi Torets — concentrated attacks; UA holds W city per ISW (EST)",
     "to": "Kramatorsk direction — UAS ops (EST)",
     "km": 162,
     "url": "https://t.me/mod_russia/68347"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-98-vdv",
     "name": "98th Airborne Division (VDV)",
     "side": "Russia",
     "frm": "Toward Zaporizhzhia / Dnipro approach (EST — UA.NEWS OSINT)",
     "to": "Oleshky road, occupied Kherson obl. — 331st Regt per TASS 19 Oct (EST)",
     "km": 192,
     "url": "https://t.me/tass_agency/401844"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-104-vdv-reg",
     "name": "104th Airborne Regiment (76th VDV Division)",
     "side": "Russia",
     "frm": "Orikhiv / Zaporizhzhia approaches (EST — 76th VDV regiment OOB)",
     "to": "Myrivka area claim, Zaporizhzhia obl. — disputed (EST)",
     "km": 21,
     "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-22-2026"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-55-nid",
     "name": "55th Naval Infantry Division (Pacific Fleet)",
     "side": "Russia",
     "frm": "Zaporizhzhia obl. (EST)",
     "to": "Chervonyi Yar area, Zaporizhzhia obl. (EST — RF MoD feature)",
     "km": 40,
     "url": "https://t.me/mod_russia/68430"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-38-mrb",
     "name": "38th Guards Motor Rifle Brigade (35th Army / Vostok) — claimed",
     "side": "Russia",
     "frm": "Yehorivka area — ISW assesses flag-raising not seizure (EST)",
     "to": "Omelnyk (NW part), Zaporizhzhia obl. (EST — RU claim)",
     "km": 51,
     "url": "https://t.me/voin_dv/21686"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-114-mrb",
     "name": "114th Motorized Rifle Brigade (51st CAA)",
     "side": "Russia",
     "frm": "East of Dobropillya / Nove Shakhove (EST — CTI Mar 8)",
     "to": "Dobropillia, Donetsk obl. (EST)",
     "km": 21,
     "url": "https://t.me/mod_russia/68408"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-155-nib",
     "name": "155th Naval Infantry Brigade/Regiment (55th Naval Inf Div, Pacific Fleet)",
     "side": "Russia",
     "frm": "Predecessor theme for 55th Naval Inf Div / Pacific Fleet (EST — ISW Mar 7)",
     "to": "Chervonyi Yar, Zaporizhzhia obl. (EST — RU claim)",
     "km": 40,
     "url": "https://t.me/voin_dv/21680"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-varyag-uav",
     "name": "Varyag Separate Unmanned Systems Brigade",
     "side": "Russia",
     "frm": "Zaporizhzhia cable-stayed bridge — spotting for FAB strikes 8 Oct (EST)",
     "to": "Lyman area (north of the town per ISW 22 Oct; pin at Lyman) — EST",
     "km": 237,
     "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-22-2026"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-west",
     "name": "Western Grouping of Forces (Zapad) elements",
     "side": "Russia",
     "frm": "Kupiansk–Borova / Western axis (EST)",
     "to": "Palamarivka / Kovalivka, W of Kupiansk (EST — RF claim)",
     "km": 9,
     "url": "https://t.me/grvZapad/20159"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-north",
     "name": "Northern Grouping of Forces (Sever) elements",
     "side": "Russia",
     "frm": "Anyshchyne / Velykyi Burluk — UA tanks + RU infiltration per ISW (EST)",
     "to": "NE Kharkiv obl. / Sumy border (EST)",
     "km": 29,
     "url": "https://t.me/severnnyi/9673"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-152-jaeger",
     "name": "152nd Separate Jaeger Brigade (Symon Petliura)",
     "side": "Ukraine",
     "frm": "Kotlyne / Udachne / Serhiivka (Pokrovsk SW) — EST",
     "to": "Serhiivka area, Pokrovsk direction (EST pin)",
     "km": 12,
     "url": "https://suspilne.media/donbas/1431953-rosiani-namagalisa-vstanoviti-prapor-u-sergiivci-na-pokrovskomu-napramku-ale-buli-zniseni-selo-pid-kontrolem-zsu/"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-57-ompbr",
     "name": "57th Separate Motorized Infantry Brigade",
     "side": "Ukraine",
     "frm": "Hannopillia area, Kharkiv obl. — named by a pro-Russian aggregator 8 Oct (EST)",
     "to": "Hontarivka area, Kharkiv obl. — RF MoD strike claim (EST, approx)",
     "km": 16,
     "url": "https://t.me/mod_russia/68314"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-128-hmb",
     "name": "128th Separate Heavy Mechanized Brigade (Ukraine) — RF claim",
     "side": "Ukraine",
     "frm": "Kushuhum area, Zaporizhzhia obl. — RF MoD strike claim (EST)",
     "to": "Malokaterynivka, Zaporizhzhia obl. — UA South GoF says brigade filmed inside village (EST)",
     "km": 8,
     "url": "https://x.com/UAControlMap/status/2112019859945005135"
    }
   ],
   "terrFeatures": 7,
   "terrRefreshed": 0,
   "terrRefreshedNames": [],
   "unitsTotal": 292,
   "unitsRefreshed": 124,
   "terrGeneratedAt": "2026-10-16T14:04:00Z"
  },
  "claims": [
   {
    "claim_id": "amk-20261017-dobropillia-deteriorating",
    "url": "https://x.com/AMK_Mapping_/status/2111353298162978826",
    "handle": "AMK_Mapping_",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-17",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Dobropillia, Donetsk obl. (EST)",
    "summary": "AMK Mapping (X): RF MoD claims of capturing Dobropillia are false, but the situation continues to deteriorate for Ukraine. Unverified / EST — INFO/SA only."
   },
   {
    "claim_id": "bureviy-20261017-refutes-dobropillia-captures",
    "url": "https://t.me/bureviy_brigade/5556",
    "handle": "bureviy_brigade",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-17",
    "kind": "gain",
    "gainer": "Ukraine",
    "loser": "Russia",
    "km2": [],
    "scope": "event",
    "loc": "Zolotyi Kolodiaz / Novotroitske / Petrivka, Donetsk obl. (EST — plotted Zolotyi Kolodiaz)",
    "summary": "NGU Bureviy brigade: RF MoD claims of capturing Zolotyi Kolodiaz, Novotroitske and Petrivka are false; all three under control of Bureviy and other Defence Forces units; RU small infantry groups infiltrate to raise flags for video. Unverified / EST — INFO/SA only."
   },
   {
    "claim_id": "rf-mod-20261017-summary-eight-settlements",
    "url": "https://www.interfax.ru/russia/1123168",
    "handle": "Interfax (RF MoD)",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-17",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Dobropillia, Donetsk obl. (EST — eight claimed settlements)",
    "summary": "RF MoD daily summary 17 Oct: claims capture of Palamarivka and Kovalivka (Kharkiv, Zapad), Oleksiievo-Druzhkivka (Yug), Dobropillia, Pervomaiske and Serhiivka (Tsentr), Velykomykhailivka (Dnipropetrovsk, Vostok) and Malokaterynivka (Zaporizhzhia, Dnepr); Sever claims it completed liquidation of an '"
   },
   {
    "claim_id": "azov-20261017-denies-three-settlements-dobropillia",
    "url": "https://www.ukrinform.net/rubric-ato/4175428-azov-regiment-denies-russian-claims-of-capturing-three-settlements-near-dobropillia.html",
    "handle": "Ukrinform",
    "claimant": "Ukrainian military units / commands",
    "claimant_side": "Ukraine",
    "date": "2026-10-17",
    "kind": "gain",
    "gainer": "Ukraine",
    "loser": "Russia",
    "km2": [],
    "scope": "event",
    "loc": "Zolotyi Kolodiaz / Novotroitske / Petrivka (Donetsk obl.)",
    "summary": "Azov Corps: RF MoD claims to have captured Zolotyi Kolodiaz, Novotroitske and Petrivka (NE of Dobropillia) are untrue; all three remain under control of the Bureviy Brigade and other units; RU small infantry groups infiltrate to film flag-raising videos and are being neutralised. Unverified / EST — "
   },
   {
    "claim_id": "rf-mod-20261017-velykomykhailivka-69th-bde",
    "url": "https://www.interfax.ru/russia/1123175",
    "handle": "Interfax (RF MoD)",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-17",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [
     [
      8.0,
      "event"
     ]
    ],
    "scope": "event",
    "loc": "Velykomykhailivka, Dnipropetrovsk obl. (EST)",
    "summary": "RF MoD: control of Velykomykhailivka expands Vostok GoF's zone on the right bank of the Vovcha River; credits assault units of the 69th Separate Covering Brigade; claims an 8 km² defence area and 1,800+ buildings cleared. UA GS says the village is UA-held with the line 8 km east. Unverified / EST — "
   },
   {
    "claim_id": "ukrinform-20261017-orikhiv-otf-south",
    "url": "https://www.ukrinform.net/rubric-ato/4175480-russian-forces-aim-to-capture-orikhiv-by-end-of-october-ukrainian-military-says.html",
    "handle": "Ukrinform",
    "claimant": "Media report: Ukrinform",
    "claimant_side": null,
    "date": "2026-10-17",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Orikhiv, Zaporizhzhia obl. (EST)",
    "summary": "OTF South deputy spokesperson Shevchenko: RU command ordered capture of Orikhiv, Preobrazhenka and Tavriiske by end of October; RU infiltrates Orikhiv in 1–2-person groups but has no foothold; RU reports of clearing 50% of Orikhiv (2,800 houses) are \"fabricated\". Unverified / EST — INFO/SA only."
   },
   {
    "claim_id": "x-20261017-oleg-ihs-svitle-vodianske",
    "url": "https://x.com/Oleg_IHS/status/2111484934707921248",
    "handle": "Oleg_IHS",
    "claimant": "Media report: Oleg_IHS",
    "claimant_side": null,
    "date": "2026-10-17",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Svitle / Vodianske, Dobropillia area (EST)",
    "summary": "X aggregator Oleg_IHS: RU captured Lypovyi forest, southern part of Svitle and the mine at Vodianske; RU infantry infiltrating Dobropillia. UA GS 22:00 lists Vodianske as an area of attempted RU advances. Unverified / EST — INFO/SA only."
   },
   {
    "claim_id": "isw-20261017-kostiantynivka-tykhonivka",
    "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-17-2026",
    "handle": "ISW / Critical Threats",
    "claimant": "Independent analysts / OSINT",
    "claimant_side": "Neutral",
    "date": "2026-10-17",
    "kind": "gain",
    "gainer": "Ukraine",
    "loser": "Russia",
    "km2": [],
    "scope": "event",
    "loc": "Kostiantynivka / Tykhonivka (EST — plotted Kostiantynivka)",
    "summary": "ISW/CTP citing UA observer Mashovets: UA cleared RU infiltrators in Tykhonivka (east of Kramatorsk); UA holds Rozkishne; RU infiltrated Molocharka and operates in Novodmytrivka (north of Kostiantynivka); RU has not fully seized Kostiantynivka, UA holds northern/central parts. Unverified / EST — INFO"
   },
   {
    "claim_id": "grvzapad-20261018-kupiansk-palamarivka-unconfirmed",
    "url": "https://t.me/grvZapad/20128",
    "handle": "grvZapad",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-18",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Palamarivka / Kovalivka, Kupiansk dir. (EST — plotted Palamarivka)",
    "summary": "grvZapad summary: RF MoD-claimed capture of Palamarivka and Kovalivka \"not yet confirmed on the ground\"; offensives toward Radkivka, Novoosynove, Kurylivka; holding west bank of the Zherebets; fighting at Yampil, Zarichne, Masliakivka; attacks toward Novoserhiivka, Shandryholove, Stavky, Tverdokhlib"
   },
   {
    "claim_id": "zelensky-20261018-holds-dobropillia-list",
    "url": "https://t.me/GeneralStaffZSU/42622",
    "handle": "GeneralStaffZSU",
    "claimant": "Ukrainian President / Cabinet",
    "claimant_side": "Ukraine",
    "date": "2026-10-18",
    "kind": "gain",
    "gainer": "Ukraine",
    "loser": "Russia",
    "km2": [],
    "scope": "event",
    "loc": "Dobropillia, Donetsk obl. (EST — list of places)",
    "summary": "Zelensky (after C-in-C Drapatyi report, relayed by UA General Staff): Dobropillia, Kostiantynivka, Oleksiievo-Druzhkivka, Orikhiv, Novopavlivka, Novoandriivka and Velykomykhailivka are all under Ukrainian control; RU assaults and infiltrations in Dobropillia being destroyed; fighting 20 km from Zapo"
   },
   {
    "claim_id": "rfmod-20261018-hruzke-liberation-interview",
    "url": "https://t.me/mod_russia/68332",
    "handle": "mod_russia",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-18",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Hruzke, Donetsk obl. (EST)",
    "summary": "RF MoD: assault-company commander Ruslan Valeev describes the \"liberation\" of Hruzke (DNR); says approach over open fields was the main difficulty and many UA soldiers surrendered. Unverified / EST — INFO/SA only."
   },
   {
    "claim_id": "isw-20261018-kolodiazne-refuted",
    "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-18-2026",
    "handle": "ISW / UA brigade",
    "claimant": "Independent analysts / OSINT",
    "claimant_side": "Neutral",
    "date": "2026-10-19",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Kolodiazne, Dvorichna hromada, Kharkiv obl. (EST)",
    "summary": "ISW 18 Oct: a Ukrainian brigade refuted recent Russian claims that RU forces seized Kolodiazne (SE of Velykyi Burluk); no ground activity reported in the Velykyi Burluk direction on 18 Oct. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "isw-20261018-kolodiazi-vivaldi",
    "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-18-2026",
    "handle": "ISW / Suspilne",
    "claimant": "Independent analysts / OSINT",
    "claimant_side": "Neutral",
    "date": "2026-10-19",
    "kind": "gain",
    "gainer": "Ukraine",
    "loser": "Russia",
    "km2": [],
    "scope": "event",
    "loc": "Kolodiazi, NE of Lyman (EST)",
    "summary": "ISW 18 Oct relaying a UA unmanned-systems battalion officer (via Suspilne): during Operation Vivaldi mechanized UA forces encircled Kolodiazi (NE of Lyman) and liberated it without urban combat. Date of the operation not stated in this item. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "voindv-20261019-omelnyk-38gmrb",
    "url": "https://t.me/voin_dv/21650",
    "handle": "voin_dv",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-19",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [
     [
      27.0,
      "event"
     ]
    ],
    "scope": "event",
    "loc": "Omelnyk, Zaporizhzhia obl. (EST)",
    "summary": "Voin DV (Vostok GoF channel): 38th GMRB (35th Army) established control over Omelnyk after breaking prepared defences; claims >400 buildings cleared, 27 km² defence area, losses to UA 92nd OShBr (company+), 14 AFVs, 30+ robotic platforms, 75 Baba-Yaga hexacopters. Unverified / EST — INFO/SA only. No"
   },
   {
    "claim_id": "rfmod-20261019-dobropillia-lezgin",
    "url": "https://t.me/mod_russia/68344",
    "handle": "mod_russia",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-19",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Dobropillia, Donetsk obl. (EST)",
    "summary": "RF MoD interview: UAS battalion commander \"Lezgin\" describes the \"liberation\" of Dobropillia — bypassing the town from N and S, clearing the industrial zone, blocking withdrawal routes in western tree lines. Disputed: UA (GS 08:00 19 Oct) still reports RU assaults toward Dobropillia; ISW 18 Oct sees"
   },
   {
    "claim_id": "pushilin-20261019-dobropillia-sweep",
    "url": "https://tass.com/politics/2203985",
    "handle": "TASS / Pushilin",
    "claimant": "Russian-installed occupation officials",
    "claimant_side": "Russia",
    "date": "2026-10-19",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Dobropillia, Donetsk obl. (EST)",
    "summary": "Pushilin (via TASS): RU forces will have to clear \"liberated\" Dobropillia of scattered Ukrainian groups, inspecting every basement; the mop-up \"will also be uneasy\". TASS separately quotes a 61st Naval Inf Bde battalion commander: 100+ UA troops eliminated/surrendered in Dobropillia mine workings. U"
   },
   {
    "claim_id": "rfmod-20261019-omelnyk-liberated",
    "url": "https://t.me/mod_russia/68345",
    "handle": "mod_russia",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-19",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [
     [
      27.0,
      "event"
     ]
    ],
    "scope": "event",
    "loc": "Omelnyk, Zaporizhzhia obl. (EST)",
    "summary": "RF MoD: units of the Vostok GoF \"liberated\" Omelnyk (Zaporizhzhia obl., NE of Orikhiv). Voin DV: 38th GMRB of the 35th Army broke through prepared defences incl. an anti-tank ditch, cleared 400+ buildings and took a ~27 km² defence area; UA 92nd OShBr losses claimed. Rybar: flag footage only from ea"
   },
   {
    "claim_id": "tass-20261019-marochko-sever-100km2",
    "url": "https://tass.com/politics/2204081",
    "handle": "TASS / Marochko",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-19",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [
     [
      100.0,
      "event"
     ]
    ],
    "scope": "event",
    "loc": "Sumy / Kharkiv border (EST — plotted Vovchansk area)",
    "summary": "TASS quoting RU expert Marochko: Sever GoF seized ~100 km² in Sumy and Kharkiv regions over the past week; RU \"liberated\" 12 settlements last week (8 Kharkiv, 3 DPR, 1 Zaporizhzhia). Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "rfmod-20261019-daily-summary-405-uav",
    "url": "https://tass.com/politics/2204097",
    "handle": "TASS / RF MoD",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-19",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Front-wide (EST — plotted Zaporizhzhia direction)",
    "summary": "RF MoD daily summary (via TASS): Vostok GoF \"liberated\" Omelnyk (Zaporizhzhia obl.); Sever gained positions near Vysokoye, Izbitskoye, Velykyi Burluk, Tomakhivka (Kharkiv) and struck UA units near Sukhodil, Sennoye, Hnylytsia (Sumy); Zapad near Husynka, Lozova-Druha, Hrushivka; Yug near Novoselivka,"
   },
   {
    "claim_id": "rybar-20261019-orikhiv-digest",
    "url": "https://t.me/rybar/84023",
    "handle": "rybar",
    "claimant": "Russian military units / milbloggers",
    "claimant_side": "Russia",
    "date": "2026-10-19",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Orikhiv area, Zaporizhzhia obl. (EST)",
    "summary": "Rybar Orikhiv digest: Omelnyk passed to RU control (flags only from E outskirts); fierce fighting for Orikhiv, UA brought fresh forces and pushed RU back inside the town; Novoandriivka contested, nobody in full control; UA still uses Novopavlivka to reinforce Orikhiv; UA controls most of Prymorske, "
   },
   {
    "claim_id": "voindv-20261019-fake-havrylivka-video",
    "url": "https://t.me/voin_dv/21660",
    "handle": "voin_dv",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-19",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Havrylivka, Dnipropetrovsk obl. (EST — place identity approx)",
    "summary": "Voin DV (Vostok GoF channel) warns that a video purportedly from a 69th Covering Brigade soldier announcing the \"liberation\" of Havrylivka is a Ukrainian PSYOP fake and should not be published. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "rfmod-20261019-itogi-omelnyk-velykomykhailivka",
    "url": "https://t.me/mod_russia/68356",
    "handle": "mod_russia",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-19",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Omelnyk, Zaporizhzhia obl. (EST)",
    "summary": "RF MoD day summary: restates that Vostok GoF units \"liberated\" Omelnyk (Zaporizhzhia obl.); an assault-unit commander \"Samosval\" describes the storming of Velykomykhailivka (Dnipropetrovsk obl.); massed strike on defence industry, cruise-missile/UAV storage and a data centre claimed. Unverified / ES"
   },
   {
    "claim_id": "x-euromaidan-20261019-gerasimov-92-vs-zelensky",
    "url": "https://x.com/EuromaidanPress/status/2112282143242027067",
    "handle": "EuromaidanPress",
    "claimant": "Ukrainian President / Cabinet",
    "claimant_side": "Ukraine",
    "date": "2026-10-19",
    "kind": "gain",
    "gainer": "Ukraine",
    "loser": "Russia",
    "km2": [],
    "scope": "event",
    "loc": "Kostiantynivka / Dobropillia, Donetsk obl. (EST)",
    "summary": "Euromaidan Press (X): Gerasimov says RU troops have taken 92 settlements since September incl. Kostiantynivka and Dobropillia; Zelensky says both are still Ukrainian and that since autumn began Ukraine has liberated more territory than Russia captured. Unverified / EST — INFO/SA only. Not for target"
   },
   {
    "claim_id": "biletsky-20261019-vivaldi-summary-277km2",
    "url": "https://suspilne.media/donbas/1431767-bileckij-pidsumuvav-vivaldi-so-rozkazav-pro-slovansk-kramatorsk-taemnicu-ta-uspih-na-lugansini/",
    "handle": "Suspilne Donbas",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-19",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [
     [
      277.0,
      "event"
     ],
     [
      260.0,
      "event"
     ]
    ],
    "scope": "event",
    "loc": "Lyman direction / Chornyi Zherebets (EST)",
    "summary": "Suspilne Donbas — Biletsky sums up Operation Vivaldi: 277 km² liberated per the UA map (RU maps had shown 1,260 km² of claimed RU gains incl. Sviatohirsk, Oskil, Borova); RU losses >8,000 during the offensive, ~270 POWs incl. >20 officers; RU Zapad GoF (1st Tank, 20th and 25th CAA) had aimed to push"
   },
   {
    "claim_id": "isw-20261019-lyman-vivaldi-zarichne",
    "url": "https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-19-2026/",
    "handle": "ISW / Mashovets",
    "claimant": "Independent analysts / OSINT",
    "claimant_side": "Neutral",
    "date": "2026-10-20",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Myrne–Zarichne–Torske area, NE of Lyman (EST)",
    "summary": "ISW 19 Oct (relaying Mashovets): UA likely pushed RU out of Myrne (NE of Lyman), operates on the western outskirts of Yampolivka, advanced toward Ivanivka and Terny, into northern Zarichne (fighting in southern Zarichne) and likely to the east bank of the Zherebets south of Torske; RU milbloggers cl"
   },
   {
    "claim_id": "voindv-20261020-tymoshivka-114-mrr",
    "url": "https://t.me/voin_dv/21667",
    "handle": "voin_dv",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-20",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [
     [
      6.0,
      "event"
     ]
    ],
    "scope": "event",
    "loc": "Tymoshivka, Zaporizhzhia obl.",
    "summary": "Voin DV (Vostok GoF channel): guardsmen of the 114th Motor Rifle Regiment (127th MRD, 5th Army) took control of Tymoshivka; claims a 6 km² defence area taken and a company of the UA 225th Separate Assault Regiment destroyed, plus 8 AFVs, 17 UGVs and 33 Baba Yaga hexacopters. Unverified / EST — INFO/"
   },
   {
    "claim_id": "rfmod-20261020-dobropillia-marines-200-uav-cps",
    "url": "https://t.me/mod_russia/68367",
    "handle": "mod_russia",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-20",
    "kind": "gain",
    "gainer": "Ukraine",
    "loser": "Russia",
    "km2": [],
    "scope": "event",
    "loc": "Dobropillia, Donetsk obl.",
    "summary": "RF MoD: Center GoF marines destroyed \"about 200\" Ukrainian UAV control points during the \"liberation of Dobropillia\", plus 20+ depots and ~150 deployment points; quotes UAS chiefs of the 177th Regiment and 61st Naval Infantry Brigade. Restates the RU claim that Dobropillia was captured — denied the "
   },
   {
    "claim_id": "rfmod-20261020-tymoshivka-captured",
    "url": "https://t.me/mod_russia/68369",
    "handle": "mod_russia",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-20",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Tymoshivka, Polohy district, Zaporizhzhia obl.",
    "summary": "RF MoD: units of the Vostok Grouping of Forces \"liberated\" Tymoshivka (Zaporizhzhia obl., E of Orikhiv near Novosoloshyne / Barvinivka). No Ukrainian confirmation; UA GS lists no Tymoshivka fighting this morning. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "rfmod-20261020-daily-summary-383-uav",
    "url": "https://tass.com/politics/2204695",
    "handle": "TASS",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-20",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Zaporizhzhia / front-wide (EST — plotted Tymoshivka)",
    "summary": "RF MoD daily summary (via TASS): Vostok \"liberated\" Tymoshivka; Sever \"gained better lines\" near Izbytske, Berezhne, Velykyi Burluk and Tomakhivka (Kharkiv); Center \"gained better lines\" near Zavidovo-Kudashevo, Kryvorizhzhia, Staroraiske, Starovarvarivka, Shylivka, Malotaranivka, Virivka, Bilozersk"
   },
   {
    "claim_id": "rfmod-20261020-omelnyk-38th-gmrb-27km2",
    "url": "https://t.me/mod_russia/68374",
    "handle": "mod_russia",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-20",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [
     [
      27.0,
      "event"
     ]
    ],
    "scope": "event",
    "loc": "Omelnyk, Zaporizhzhia obl. (EST)",
    "summary": "RF MoD: Vostok soldiers describe the battle for Omelnyk (Zaporizhzhia obl.); assault troops of the 38th Guards Motor Rifle Brigade (35th CAA) claimed to have broken through prepared defences and taken control of a large fortified area of 27 km². UA GS lists Omelnyk among places of RU attacks the sam"
   },
   {
    "claim_id": "isw-20261020-tymoshivka-claim-exaggerated",
    "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-20-2026",
    "handle": "ISW / CTP",
    "claimant": "Independent analysts / OSINT",
    "claimant_side": "Neutral",
    "date": "2026-10-21",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Tymoshivka, NW of Huliaipole, Zaporizhzhia obl. (EST)",
    "summary": "ISW 20 Oct: the RU MoD continues to make exaggerated claims of advances in the Huliaipole direction — it claimed Eastern GoF seized Tymoshivka, which is at least 12 km from the furthest extent of RU advances; milbloggers credited the 114th MRR (127th MRD). ISW calls this part of a cognitive-warfare "
   },
   {
    "claim_id": "motopatriot-20261021-dobropillia-clearing",
    "url": "https://t.me/motopatriot78/56991",
    "handle": "motopatriot78",
    "claimant": "Russian military units / milbloggers",
    "claimant_side": "Russia",
    "date": "2026-10-21",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Dobropillia (EST)",
    "summary": "Motopatriot (RU milblogger): RU troops continue \"liberating\" Dobropillia. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "voindv-20261021-155-nir-chervonyi-yar",
    "url": "https://t.me/voin_dv/21680",
    "handle": "voin_dv",
    "claimant": "Media report: voin_dv",
    "claimant_side": null,
    "date": "2026-10-21",
    "kind": "gain",
    "gainer": null,
    "loser": "Unclear",
    "km2": [],
    "scope": "event",
    "loc": "Chervonyi Yar, Zaporizhzhia obl. (EST)",
    "summary": "Voin DV (Vostok channel): guardsmen of the 155th Naval Infantry Regiment (55th Marine Division, 5th Army) claim to have captured Chervonyi Yar; claims UA losses up to a company of the 225th assault regiment. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "azov-20261021-dobropillia-capture-denial",
    "url": "https://www.ukrinform.net/rubric-ato/4176639-azov-dismisses-russian-claim-of-capturing-dobropillia.html",
    "handle": "Ukrinform",
    "claimant": "Ukrainian military units / commands",
    "claimant_side": "Ukraine",
    "date": "2026-10-21",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Dobropillia (EST)",
    "summary": "Ukrinform / Azov Corps: Azov dismisses RU claims of capturing Dobropillia as disinformation (\"War on Credit\"); Budanov earlier also denied the capture. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "mod-20261021-chervonyi-yar-capture",
    "url": "https://t.me/mod_russia/68392",
    "handle": "mod_russia",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-21",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Chervonyi Yar, Preobrazhenka hromada, Zaporizhzhia obl. (EST)",
    "summary": "RF MoD: units of the Vostok group of forces \"liberated\" (captured) Chervonyi Yar in Zaporizhzhia oblast. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "mod-20261021-yulivka-capture",
    "url": "https://t.me/mod_russia/68394",
    "handle": "mod_russia",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-21",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Yulivka, Novooleksandrivka hromada, Zaporizhzhia obl. (EST)",
    "summary": "RF MoD: units of the Dnepr group of forces \"liberated\" (captured) Yulivka in Zaporizhzhia oblast. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "suriyak-20261021-kupiansk",
    "url": "https://t.me/Suriyak_maps/13226",
    "handle": "Suriyak_maps",
    "claimant": "Media report: Suriyak_maps",
    "claimant_side": null,
    "date": "2026-10-21",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Kupiansk (EST)",
    "summary": "Suriyak Maps: over two weeks RU took the north-western sector of Kupiansk, fighting shifted to Moskovka (Myrove) and outskirts of Sobolivka; RU recaptured Radkivka and made incursions near Mala Shapkivka; UA incursions toward Holubivka. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "voindv-20261021-38-omsbr-omelnyk-pows",
    "url": "https://t.me/voin_dv/21686",
    "handle": "voin_dv",
    "claimant": "Media report: voin_dv",
    "claimant_side": null,
    "date": "2026-10-21",
    "kind": "gain",
    "gainer": "Ukraine",
    "loser": "Russia",
    "km2": [],
    "scope": "event",
    "loc": "Omelnyk (NW part), Zaporizhzhia obl. (EST)",
    "summary": "Voin DV: 38th Guards MRB soldiers say that while clearing the north-western part of Omelnyk on 17 Oct they found a UA position and 8 soldiers surrendered; a captured UA squad leader is named as from the 121st TDF brigade. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "mod-20261021-328-vdv-yulivka-belousov",
    "url": "https://t.me/mod_russia/68404",
    "handle": "mod_russia",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-21",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Yulivka, Zaporizhzhia obl. (EST)",
    "summary": "RF MoD: Defence Minister Belousov congratulated the 328th Guards Air Assault Regiment on \"liberating\" (capturing) Yulivka on the Orikhiv tactical direction (restates the morning capture claim, names the unit). Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "mod-20261021-51caa-dobropillia-details",
    "url": "https://t.me/mod_russia/68408",
    "handle": "mod_russia",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-21",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Dobropillia, Donetsk obl. (EST)",
    "summary": "RF MoD: troops of the 51st Guards CAA (Center GoF) gave \"new details\" of the claimed capture of Dobropillia, crediting artillery of the 114th Brigade, recon of the 80th Battalion and drones of the 56th Spetsnaz Battalion. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "x-voennoedelo-20261021-kupiansk-centre",
    "url": "https://x.com/voennoedelocom/status/2112971644008567195",
    "handle": "voennoedelocom",
    "claimant": "Media report: voennoedelocom",
    "claimant_side": null,
    "date": "2026-10-21",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Kupiansk (centre / western outskirts), Kharkiv obl. (EST)",
    "summary": "Voennoe Delo (X), citing military channels: RU forces took control of key objects in central Kupiansk and advanced on the western outskirts. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "tass-20261021-tymoshivka-capture-video",
    "url": "https://t.me/tass_agency/401619",
    "handle": "tass_agency",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-21",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Tymoshivka, Zaporizhzhia obl. (EST)",
    "summary": "TASS / RF MoD published footage of the claimed \"liberation\" (capture) of Tymoshivka, Zaporizhzhia obl. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "rfmod-20261022-myrivka-capture",
    "url": "https://t.me/mod_russia/68431",
    "handle": "mod_russia",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-22",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Myrivka, Ternuvate hromada, Zaporizhzhia obl. (EST)",
    "summary": "RF MoD claims Vostok Grouping units 'liberated' (captured) Myrivka in Zaporizhzhia oblast. No Ukrainian confirmation; ISW/DeepState have not confirmed as of this run. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "tg-mod-20261023-dobropillia-61nib-177nir",
    "url": "https://t.me/mod_russia/68465",
    "handle": "RF MoD",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-23",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Dobropillia, Donetsk obl. (EST)",
    "summary": "RF MoD: marines of the 61st Naval Infantry Bde and 177th Naval Infantry Regt (Center GoF) described the \"liberation\" of Dobropillia, cutting supply routes from Sviatohorivka, Hannivka and Bilozerske since May. Party claim; ISW previously did not confirm full capture. Unverified / EST — INFO/SA only."
   },
   {
    "claim_id": "tg-mod-20261023-pervomaiske-dpr",
    "url": "https://t.me/mod_russia/68471",
    "handle": "RF MoD",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-23",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Pervomaiske, Donetsk obl. (EST, Bilozerske-hromada candidate)",
    "summary": "RF MoD: Center GoF assault troops describe \"liberating\" Pervomaiske (DPR), clearing house by house. Party claim. Unverified / EST — INFO/SA only. Not for targeting."
   }
  ]
 },
 "strikesLog": [
  {
   "date": "2026-10-17",
   "areas": [
    {
     "area": "Zaporizhzhia (EST)",
     "items": [
      {
       "ts": "2026-10-17T02:48:14Z",
       "side": "Russia",
       "type": "strike",
       "handle": "zoda_gov_ua",
       "summary": "Zaporizhzhia OVA: strike on open ground among residential buildings in Zaporizhzhia; apartment blocks damaged, cars burned, two injured; later homes damaged in Voznesenivskyi, Dniprovskyi and Zavodskyi districts. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/zoda_gov_ua/68450",
       "status": "official_statement"
      },
      {
       "ts": "2026-10-17T22:41:37Z",
       "side": "Russia",
       "type": "strike",
       "handle": "zoda_gov_ua",
       "summary": "Zaporizhzhia OVA: residential building hit in Zaporizhzhia late Oct 17; a 27-year-old woman killed; other casualties being clarified. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/zoda_gov_ua/68475",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Scăieni, Dondușeni district, Moldova (EST)",
     "items": [
      {
       "ts": "2026-10-17T00:15:00Z",
       "side": "Other",
       "type": "air_defense",
       "handle": "ISW / Critical Threats",
       "summary": "ISW/CTP citing Moldovan MoD: at least four drones violated Moldovan airspace at least five times overnight Oct 15–16; one fell and exploded in a field near Scăieni (~30 km inside Moldova). Origin not attributed by Moldova. Unverified / EST — INFO/SA only.",
       "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-16-2026",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Kryvyi Rih / Zaporizhzhia / Kamianske–Dnipro corridor (EST — alert tracks)",
     "items": [
      {
       "ts": "2026-10-17T01:46:54Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "kpszsu",
       "summary": "UA Air Force (night of 16–17 Oct): successive tracking alerts for reactive UAVs over Chernihiv/Zhytomyr/Dnipropetrovsk oblasts, KABs toward eastern Kharkiv and Kherson, rockets over Beryslav district, and ballistic missiles toward Kryvyi Rih, Zaporizhzhia, and Kamianske/Dnipro; UAVs over Kremenchuk and Kryvyi Rih. Outcomes (intercepts/impacts) not stated in these alerts as of 01:46Z. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/kpszsu/87510",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kryvyi Rih / Dnipro (EST)",
     "items": [
      {
       "ts": "2026-10-17T04:30:03Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Dnipropetrovsk OVA: almost 20 attacks on three districts with drones and missiles; one killed at a damaged enterprise in Dnipro; industrial enterprise struck and on fire in Kryvyi Rih; 24 UAVs downed overnight. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/dnipropetrovskaODA/32638",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kryvyi Rih / Zaporizhzhia / Zhytomyr (EST — plotted Zaporizhzhia)",
     "items": [
      {
       "ts": "2026-10-17T05:22:48Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: overnight massive strike with ground-, air- and sea-launched precision weapons and UAVs on metallurgical plants (Kryvyi Rih; Zaporizhstal), the Zaporozhtransformator plant and a Zhytomyr electrical substation; also claims a dry-cargo ship bound for Odesa was hit at sea. Zaporizhstal (via UP/NOEL) reports six ballistic missiles, fifth attack, no casualties; Dnipropetrovsk OVA reports industrial enterprise hit in Kryvyi Rih. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/mod_russia/68294",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Ukraine-wide (EST — plotted Kryvyi Rih, main ballistic/Kalibr target)",
     "items": [
      {
       "ts": "2026-10-17T05:26:01Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "GeneralStaffZSU",
       "summary": "UA GS/Air Force: night of 16–17 Oct Russia launched Iskander-M/KN-23 ballistic missiles, Kh-22/32, 4 Kalibr and 332 Shahed-type UAVs (31 jet), Banderol, Gerbera, Parodiya; 293 targets downed/suppressed (4 Kalibr, 289 UAVs); hits at 22 locations, debris at 3. RIA (citing Strana) highlights that no ballistic/air-launched missiles were reported downed. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/GeneralStaffZSU/42612",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kharkiv (EST)",
     "items": [
      {
       "ts": "2026-10-17T05:34:02Z",
       "side": "Russia",
       "type": "strike",
       "handle": "synegubov",
       "summary": "Kharkiv OVA (Syniehubov): over the past day Kharkiv city and 10 settlements struck; in Kharkiv a 71-year-old woman and 58-year-old man killed, 41 injured incl. three children. SES (via Ukrinform): evening missile strikes on Kharkiv injured 15. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/synegubov/26718",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Russia-wide (EST — plotted Moscow region)",
     "items": [
      {
       "ts": "2026-10-17T05:37:43Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: 610 Ukrainian fixed-wing UAVs intercepted 20:00 Oct 16 – 08:00 Oct 17 over 12+ regions incl. Moscow region, Khanty-Mansi AO, Krasnodar, Crimea and the Black Sea; Sobyanin: 2,730 UAVs flew toward Moscow region in the week to Oct 17 (534 near Moscow). Unverified / EST — INFO/SA only.",
       "url": "https://t.me/mod_russia/68295",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Novorossiysk naval base (EST)",
     "items": [
      {
       "ts": "2026-10-17T07:10:09Z",
       "side": "Russia",
       "type": "naval",
       "handle": "AMK_Mapping_",
       "summary": "AMK Mapping (X): the repaired frigate Admiral Makarov (damaged by UA drones Aug 12) launched ~6 Kalibr cruise missiles at Kryvyi Rih today. (UA GS reports 4 Kalibr from Novorossiysk downed.) Unverified / EST — INFO/SA only.",
       "url": "https://x.com/AMK_Mapping_/status/2111354059785687514",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kherson, Korabelnyi district (EST)",
     "items": [
      {
       "ts": "2026-10-17T08:02:20Z",
       "side": "Russia",
       "type": "strike",
       "handle": "khersonskaODA",
       "summary": "Kherson OVA: eight guided bombs on Kherson's Korabelnyi district in under an hour; ten apartment buildings damaged; Ukrinform: an ambulance driver killed, 22 injured (OVA later: 33 injured). Unverified / EST — INFO/SA only.",
       "url": "https://t.me/khersonskaODA/69755",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Vinnytsia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-17T08:59:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Vinnytsia OVA head Zabolotna (via Ukrinform): one of the largest attacks on the region; 24 drones downed; six injured; blackout and water outage in Vinnytsia. Zelensky: 15+ energy facilities hit nationwide (Lutsk, Rivne, Zhytomyr, Vinnytsia, Shepetivka, Slavuta, Netishyn). Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-ato/4175377-vinnytsia-region-endures-one-of-russias-largest-attacks-since-start-of-fullscale-invasion.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sloviansk, Donetsk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-17T09:27:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Sloviansk City Council (via Ukrinform): FAB-250 strikes at 03:40 on two high-rise buildings; 1 killed, 10 injured; 16 injured in the city over 24 h. AMK also reports the KAB strike. Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-ato/4175379-russian-fab-bombs-hit-highrise-buildings-in-sloviansk-killing-one-person-and-injuring-ten-others.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sloboda-Seletska, Unecha district, Bryansk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-17T09:27:01Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA GS: Defence Forces struck a railway bridge over the Unecha River near Sloboda-Seletska (Bryansk obl.), logistics depots near Novoandriivka, Mykilske and Mariupol (occupied Donetsk obl.) and a UAV control point near Malynivka on Oct 16 / night of Oct 17. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/GeneralStaffZSU/42614",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sumy (EST)",
     "items": [
      {
       "ts": "2026-10-17T09:59:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Sumy OVA head Hryhorov (via Ukrinform): eight guided bombs, four on the regional capital; 42-year-old man killed, at least two injured. Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-ato/4175395-russian-forces-launch-massive-guided-bomb-attack-on-sumy-killing-one-person-and-injuring-several-others.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Lyman / Vivaldi axis (EST — plotted Third Army Corps area)",
     "items": [
      {
       "ts": "2026-10-17T10:57:40Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "NOELreports",
       "summary": "NOELreports: 21st KRAKEN regiment (MURAMASA operators) scored first hit on a Russian TOS-3 Drakon heavy flamethrower during Operation Vivaldi; UP: Third Corps posted footage of the first strike on the 'Dragon' system. Unverified / EST — INFO/SA only.",
       "url": "https://x.com/NOELreports/status/2111411317152354740",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Lenina settlement, Rostov obl. (EST — plotted Rostov obl. Aksai area)",
     "items": [
      {
       "ts": "2026-10-17T10:59:01Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA GS confirms Oct 16 strike on a Roboavia (drone developer/manufacturer) production-storage building near Lenina, Rostov obl., and an Oct 12 strike on a missile-brigade supply depot near Latyshi, Bryansk obl. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/GeneralStaffZSU/42615",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Bryansk obl. (EST — location not stated; plotted Trubchevsk as prior Bryansk entries)",
     "items": [
      {
       "ts": "2026-10-17T11:17:52Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "TASS citing Bryansk governor Kovalchuk: a man was killed in a forest by a UAV attack; Two Majors relays overnight governor report of a truck hit near Katashin (Novozybkov district) and two lightly injured in Fokino. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/tass_agency/400790",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ukraine-wide Starshield/Starlink (EST — plotted Kyiv)",
     "items": [
      {
       "ts": "2026-10-17T13:18:00Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "Ukrinform",
       "summary": "Zelensky: Starlink speed cap in Ukraine (161 km/h) disables Starlink-equipped interceptor drones used against jet Shaheds; test vehicles in the EU ran at 180 km/h without cutoff — 'a planned operation'; access not fully restored. Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-ato/4175451-ukraine-loses-ability-to-use-starlink-to-shoot-down-jetpowered-shaheds-zelensky.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Enerhodar, occupied Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-17T13:34:01Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "TASS citing Enerhodar occupation mayor Pukhov: a Ukrainian drone flew into an apartment; damage, no fire. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/tass_agency/400807",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia direction (EST — plotted Huliaipole sector)",
     "items": [
      {
       "ts": "2026-10-17T13:59:58Z",
       "side": "Russia",
       "type": "strike",
       "handle": "voin_dv",
       "summary": "Voin DV (Vostok GoF channel): 35th Army UAV crews found and destroyed a US-made M109A6 SPG on the Zaporizhzhia direction. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/voin_dv/21621",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Magri, Krasnodar Krai (EST — plotted Sochi area)",
     "items": [
      {
       "ts": "2026-10-17T14:29:03Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "DefenceU",
       "summary": "UA MoD (DefenceU): Defense Forces hit a 55Zh6U Nebo-U radar in Magri, Krasnodar Krai; also Iskander-M repair base Kondrinka (Kursk), fuel depots in occupied Luhansk obl., repair base Chystiakove. Unverified / EST — INFO/SA only.",
       "url": "https://x.com/DefenceU/status/2111464516395671878",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Lutsk / Kolodne (Ternopil obl.) / Black Sea 40 km S of Odesa (EST — plotted Lutsk)",
     "items": [
      {
       "ts": "2026-10-17T14:39:37Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: daytime UAV strikes hit a \"Kromberg & Schubert\" plant in Lutsk said to repair AFU vehicles, an electrical substation in Kolodne (Ternopil obl.), and a dry-cargo ship 40 km south of Odesa port carrying military/dual-use cargo. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/mod_russia/68303",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhstal, Zaporizhzhia (EST)",
     "items": [
      {
       "ts": "2026-10-17T14:40:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Zaporizhstal press service: six ballistic missiles launched at the plant early Oct 17; energy, logistics and blast-furnace sites damaged; no casualties. Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-economy/4175466-russian-forces-strike-zaporizhstal-steel-plant-with-ballistic-missiles-causing-damage.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kherson obl. — left bank (location not stated; EST)",
     "items": [
      {
       "ts": "2026-10-17T15:41:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Ukrainska Pravda",
       "summary": "Ukrainska Pravda: NGU special-forces detachment Lasar's Group destroyed a Russian BM-30 Smerch launcher and its transporter-loader in Kherson Oblast (video). Unverified / EST — INFO/SA only.",
       "url": "https://www.pravda.com.ua/eng/news/2026/10/17/8058526/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Luhansk, occupied Luhansk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-17T16:02:01Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "TASS citing occupation head Pasechnik: Ukrainian attack on LNR energy infrastructure caused an emergency outage; 23 municipalities including Luhansk without power. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/tass_agency/400826",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Dnipro (EST)",
     "items": [
      {
       "ts": "2026-10-17T16:24:29Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Dnipropetrovsk OVA: Russians attacked a critical infrastructure facility in Dnipro; preliminarily no casualties. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/dnipropetrovskaODA/32645",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kherson region (EST — plotted Kherson)",
     "items": [
      {
       "ts": "2026-10-17T16:25:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Kherson Regional Prosecutor: 1 killed, 40 injured (3 children) on Oct 17 — airstrike on Kherson ~04:00 injured 35; double-tap bomb killed an ambulance driver; shelling in Bilozerka and Novovorontsovka. Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-ato/4175491-russian-strikes-on-kherson-region-leave-one-killed-40-injured-including-children.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Nikopol / Marhanets / Kryvyi Rih districts, Dnipropetrovsk obl. (EST — plotted Nikopol)",
     "items": [
      {
       "ts": "2026-10-17T17:01:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Dnipropetrovsk RMA head Hanzha: >30 Russian attacks on four districts Oct 17 with drones, artillery and bombs; 3 injured in Nikopol area. Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-ato/4175506-russian-shelling-in-dnipropetrovsk-region-injures-three-people.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Belgorod/Bryansk/Kursk/Oryol/Vologda/Krasnodar + Black Sea (EST — plotted Belgorod)",
     "items": [
      {
       "ts": "2026-10-17T17:13:38Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: 30 Ukrainian fixed-wing UAVs downed 08:00–20:00 MSK over Belgorod, Bryansk, Vologda, Kursk, Oryol oblasts, Krasnodar Krai and the Black Sea. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/mod_russia/68305",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Orikhiv area, Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-17T17:16:08Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dva_majors",
       "summary": "Two Majors: RU drone operators destroyed a Ukrainian Protector cargo UGV (MRAP-type) near Orikhiv; UA units increasingly use cargo UGVs for logistics. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/dva_majors/100616",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Bryansk / Kursk / Belgorod border areas (EST — plotted Belaya Beryozka)",
     "items": [
      {
       "ts": "2026-10-17T17:27:24Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "dva_majors",
       "summary": "Two Majors border summary (RU officials relayed): UAV hit a house in Belaya Beryozka (Trubchevsk dist., Bryansk) — owner burned; car hit near Mamai; Kuibyshev sugar plant (Rylsk dist., Kursk) hit, woman injured; mine injury in Bely Kolodez; multiple drone hits on cars/houses in Shebekino district (Belgorod). Unverified / EST — INFO/SA only.",
       "url": "https://t.me/dva_majors/100617",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kremenets district (Ternopil) / Chernihiv district (EST — plotted Chernihiv)",
     "items": [
      {
       "ts": "2026-10-17T17:58:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ternopiloblenergo: another strike on an energy facility, part of Kremenets district without power (RF MoD claims Kolodne substation); Chernihivoblenergo: ~19,000 customers in Chernihiv district without power after an attack. Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-ato/4175508-russian-strike-on-energy-facility-in-chernihiv-region-leaves-nearly-19000-customers-without-power.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kryvyi Rih / Zaporizhzhia / Zhytomyr (EST — plotted Kryvyi Rih)",
     "items": [
      {
       "ts": "2026-10-17T18:52:10Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD day summary: massed strike on metallurgical plants, a transformer plant and an energy facility in Kryvyi Rih, Zaporizhzhia and Zhytomyr; dry-cargo ships hit; strikes on PVDs in 142 areas. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/mod_russia/68307",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ukraine-wide (EST — plotted Kyiv)",
     "items": [
      {
       "ts": "2026-10-17T19:18:18Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "suspilnenews",
       "summary": "UA Air Force (via Suspilne): 07:30–19:30 Oct 17 Russia attacked with 157 strike drones (25 jet) and six S-8000 Banderol; 140 drones (22 jet) and all six S-8000 downed/suppressed. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/suspilnenews/77690",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Rovenky (occupied Luhansk) / Grayvoron (Belgorod) (EST — plotted Rovenky)",
     "items": [
      {
       "ts": "2026-10-17T19:32:39Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "wartranslated",
       "summary": "WarTranslated: Ukrainian drone raid under way across Bryansk, Belgorod and occupied Donbas — explosions in Rovenky, FPV strikes on Grayvoron. Unverified / EST — INFO/SA only.",
       "url": "https://x.com/wartranslated/status/2111540917161066738",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Moscow (EST)",
     "items": [
      {
       "ts": "2026-10-17T20:35:56Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "interfaxonline",
       "summary": "Moscow mayor Sobyanin: number of drones that attacked Moscow on Saturday Oct 17 reached 195; overnight into Oct 18 a further 76 reported downed by 04:50 MSK; Vnukovo and Domodedovo temporarily closed. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/interfaxonline/80275",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kharkiv — Slobidskyi / Osnovianskyi border (EST)",
     "items": [
      {
       "ts": "2026-10-17T20:37:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Kharkiv: ballistic missile strike at the border of Slobidskyi and Osnovianskyi districts; 3 injured (Syniehubov / Mayor Terekhov). RU milblogger Military Informant claims a cluster warhead (unverified). Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-ato/4175520-russian-missile-strike-on-kharkiv-injures-three-people.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Black Sea off Sulina, Romania (EST)",
     "items": [
      {
       "ts": "2026-10-17T20:37:08Z",
       "side": "Other",
       "type": "air_defense",
       "handle": "NOELreports",
       "summary": "Romanian MoD (via NOELreports/KI): two F-16s shot down two jet-powered Geran-type drones that entered Romanian airspace over the Black Sea — 25 km SE of Sulina at 18:01 and 20 km E of Sulina at 18:05 local; origin not attributed by Romania. Unverified / EST — INFO/SA only.",
       "url": "https://x.com/NOELreports/status/2111557143203876888",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Poltava (EST)",
     "items": [
      {
       "ts": "2026-10-17T20:55:04Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Poltava OVA head Diakivnych (via Suspilne): one killed, two injured in a Russian drone attack on Poltava evening Oct 17; 4 private houses damaged (RBC-Ukraine); monitoring channels reported jet UAVs / Banderol missiles. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/suspilnenews/77701",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Location not stated (EST — plotted Kyiv)",
     "items": [
      {
       "ts": "2026-10-17T20:56:17Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "NOELreports",
       "summary": "NOELreports: Ukraine may have shown its jet-powered Bars interceptor drone for the first time, used by the 1021st Air Defense Missile and Artillery Brigade; five Bars interceptors reportedly destroyed five aerial targets. Unverified / EST — INFO/SA only.",
       "url": "https://x.com/NOELreports/status/2111561961456464174",
       "status": "not_verified"
      }
     ]
    }
   ]
  },
  {
   "date": "2026-10-18",
   "areas": [
    {
     "area": "Enerhodar, occupied Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-18T01:15:01Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "TASS citing Enerhodar occupation mayor Pukhov: a Ukrainian drone flew into an apartment overnight Oct 18; damage, no fire (second such report in ~12 h). Unverified / EST — INFO/SA only.",
       "url": "https://t.me/tass_agency/400873",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "St Petersburg port / oil terminal (EST)",
     "items": [
      {
       "ts": "2026-10-18T01:34:01Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Kyiv Independent",
       "summary": "Kyiv Independent citing monitoring channels Exilenova+ and Supernova+: massive Ukrainian drone attack on St Petersburg from 02:50 local; port infrastructure, oil tankers and a data centre (VK) reportedly targeted, large fires; RBC-Ukraine reports partial blackout. Not confirmed by UA officials at time of check. Unverified / EST — INFO/SA only.",
       "url": "https://kyivindependent.com/flames-explosions-reported-amid-large-ukrainian-drone-attack-on-st-petersburg/",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Leningrad obl. — Kirovsk / Vsevolozhsk (EST — plotted Vsevolozhsk)",
     "items": [
      {
       "ts": "2026-10-18T01:47:54Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "Leningrad obl. governor Drozdenko: 95 UAVs downed over the region overnight Oct 18; debris fell on a private house near Kirovsk and an apartment block in Vsevolozhsk; Pulkovo airport restricted. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/tass_agency/400879",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia obl. (EST — plotted Zaporizhzhia)",
     "items": [
      {
       "ts": "2026-10-18T04:00:05Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ivan_fedorov_zp",
       "summary": "Zaporizhzhia OVA head Fedorov: over the past day 1 killed, 4 injured in Zaporizhzhia city/district; 808 strikes on 53 settlements; 10 missiles at Zaporizhzhia; 22 airstrikes incl. Komyshuvakha, Kushuhum, Orikhiv, Vasylivske, Vilniansk; 516 drones (mostly FPV). Unverified / EST — INFO/SA only.",
       "url": "https://t.me/ivan_fedorov_zp/49068",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kharkiv obl. — Kharkiv / Zolochiv / Izium (EST — plotted Kharkiv)",
     "items": [
      {
       "ts": "2026-10-18T05:50:02Z",
       "side": "Russia",
       "type": "strike",
       "handle": "synegubov",
       "summary": "Kharkiv OVA head Syniehubov: over the past day Kharkiv city and 9 settlements were hit; 12 injured (Kharkiv, Zolochiv, Izium); 1 missile, 2 KABs, 1 MLRS, Lancet, Molniya, 15 FPV and 139 other UAVs; strike on Osnovianskyi district this morning. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/synegubov/26747",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ukraine-wide (EST — plotted Kyiv)",
     "items": [
      {
       "ts": "2026-10-18T05:54:55Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: overnight Oct 18 (from 18:00 Oct 17) Russia launched 1 Iskander-M ballistic missile (Voronezh obl.) and 180 Shahed-type drones (26 jet), plus S-8000 Banderol/Dan-T, Gerbera and Parodiya decoys; 152 drones (16 jet) downed/suppressed by 08:00; hits at 20 locations, debris at 4. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/GeneralStaffZSU/42618",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Western Russia (EST — plotted Moscow; 14 regions + Crimea + Black Sea listed)",
     "items": [
      {
       "ts": "2026-10-18T05:55:46Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: from 20:00 Oct 17 to 08:00 Oct 18 air defence destroyed 1,015 Ukrainian fixed-wing UAVs over Belgorod, Bryansk, Vladimir, Kaluga, Kursk, Leningrad, Novgorod, Oryol, Pskov, Ryazan, Smolensk, Tver, Tula, Moscow region, Krasnodar, Crimea and the Black Sea; daily briefing later: 7 Flamingo cruise missiles and 1,256 UAVs in 24 h. Milinfolive: 144 over Leningrad obl. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/mod_russia/68312",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Rivne (EST — also cargo ship ~30 km E of Odesa port)",
     "items": [
      {
       "ts": "2026-10-18T06:00:29Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: overnight group UAV strikes on Ukrainian logistics centres, ports and vessels — claims a Nova Poshta logistics centre in Rivne storing dual-use cargo (incl. long/medium-range UAV parts) and a dry-cargo ship ~30 km east of Odesa port were hit; later claims a large dry-cargo ship and a USV hit in the Black Sea. Rivne OVA (Koval, via Ukrinform): another massive attack on Rivne, fires contained, civilian infrastructure targeted. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/mod_russia/68313",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sumy hromada, Sumy obl. (EST — plotted Sumy)",
     "items": [
      {
       "ts": "2026-10-18T06:05:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "National Police (via Ukrinform): in Sumy hromada a 30-year-old man killed by drone, a 42-year-old killed by guided bombs, 2 women injured; injuries also in Shostka and Seredyna-Buda hromadas. Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-ato/4175555-russian-strikes-kill-two-injure-five-in-sumy-region-in-one-day.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Moscow region (EST — plotted Moscow)",
     "items": [
      {
       "ts": "2026-10-18T06:58:06Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "interfaxonline",
       "summary": "Sobyanin (via Interfax): since Saturday morning 512 drones flew toward the Moscow region, most destroyed on distant approaches; 127 neutralised on approach to the capital (RIA: 87 overnight + 40 more). Unverified / EST — INFO/SA only.",
       "url": "https://t.me/interfaxonline/80294",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Manevychi, Volyn obl. (EST — also Staryi Vyshnivets / Ternopil obl., Malekhiv / Lviv obl.)",
     "items": [
      {
       "ts": "2026-10-18T07:16:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrainska Pravda",
       "summary": "Ukrainska Pravda / Kyiv Independent (Romaniuk): Russian drones struck an industrial facility in Manevychi (Volyn) causing a large fire (second strike in 3 days), an energy facility near Staryi Vyshnivets (Ternopil) leaving consumers without power; UP/Ukrinform: logistics complex / warehouse fire in Malekhiv (Lviv obl.). Unverified / EST — INFO/SA only.",
       "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058579/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Hontarivka, Kharkiv obl. (EST — approx)",
     "items": [
      {
       "ts": "2026-10-18T07:19:53Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: VKS pilots destroyed a temporary deployment point of the UA 57th Separate Motorized Infantry Brigade near Hontarivka, Kharkiv obl. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/mod_russia/68314",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ukraine-wide — Vinnytsia / Zhytomyr / Khmelnytskyi / Odesa substations (EST — plotted Vinnytsia)",
     "items": [
      {
       "ts": "2026-10-18T07:57:11Z",
       "side": "Russia",
       "type": "strike",
       "handle": "V_Zelenskiy_official",
       "summary": "Zelensky: since the US-announced energy truce a week ago Russia struck Ukrainian energy and oil-gas facilities 76 times; overnight Oct 18 substations hit in Vinnytsia, Zhytomyr, Khmelnytskyi and Odesa oblasts; 12 injured incl. 2 children, 2 killed; morning strike on an agricultural enterprise in Volyn; past week ~2,700 strike drones, 1,700 glide bombs, 66 missiles. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/V_Zelenskiy_official/21421",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sukhodilsk, occupied Luhansk obl. (EST — also Donetsk area and Dubove, Donetsk obl.)",
     "items": [
      {
       "ts": "2026-10-18T08:13:01Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: on Oct 17 and overnight Oct 18 UA forces hit a Shahed storage/preparation/launch site near Donetsk, a vehicle and AFV repair base of RU Southern GoF near Sukhodilsk (Luhansk obl.) and a RU troop concentration near Dubove (Donetsk obl.). Unverified / EST — INFO/SA only.",
       "url": "https://t.me/GeneralStaffZSU/42620",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Leningrad obl. — Vsevolozhsk dist. / Gatchina (EST — plotted Vsevolozhsk)",
     "items": [
      {
       "ts": "2026-10-18T09:29:01Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "TASS: number injured in Leningrad obl. by the UAV attack rose to 10; RIA/Drozdenko: woman and 3 children injured in Vsevolozhsk district, debris on an apartment block in Gatchina, two transformer substations off in Yanino; TASS tally: largest ever UAV attack on the region. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/tass_agency/400940",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sloviansk, Donetsk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-18T09:34:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrainska Pravda",
       "summary": "Ukrainska Pravda citing Sloviansk MVA head Liakh / SES: six killed and 15 injured in Russian airstrikes and drone attacks on Sloviansk on Oct 17; 20+ houses damaged; bodies still under rubble. KI: Donetsk Oblast total 7 killed, 14 injured (Filashkin). Unverified / EST — INFO/SA only.",
       "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058595/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Dnipro / Synelnykove district, Dnipropetrovsk obl. (EST — plotted Dnipro)",
     "items": [
      {
       "ts": "2026-10-18T09:40:40Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Dnipropetrovsk OVA: overnight 3 injured, >10 attacks on three districts (Dnipro infrastructure and cars damaged; Shakhtarske and Petropavlivka hromadas; Nikopol area); morning Oct 18 another attack on a critical infrastructure facility in Dnipro. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/dnipropetrovskaODA/32658",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kharkiv / Biliaivka (Odesa obl.) rail (EST — plotted Kharkiv)",
     "items": [
      {
       "ts": "2026-10-18T09:43:59Z",
       "side": "Russia",
       "type": "strike",
       "handle": "milinfolive",
       "summary": "Military Informant: Geran-4 strikes with seeker on Ukrainian locomotives in \"Sivash, Kharkiv obl.\", Kharkiv and Biliaivka (Odesa obl.). Unverified / EST — INFO/SA only.",
       "url": "https://t.me/milinfolive/181686",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Odesa (EST)",
     "items": [
      {
       "ts": "2026-10-18T10:26:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Odesa city MA head Lysak (via Ukrinform): strike on a high-rise residential building, roof fire, 13-year-old girl injured; UP: 24,000+ consumers without power after attack on Odesa Oblast energy; Two Majors claims Geran hits in Odesa region (Izmail/Bolhrad/Bilhorod-Dnistrovskyi outages). Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-ato/4175622-russian-forces-hit-apartment-building-in-odesa-injure-child.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Occupied Luhansk obl. (location not stated; EST — plotted Luhansk)",
     "items": [
      {
       "ts": "2026-10-18T10:31:28Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "TASS",
       "summary": "TASS headline: three killed and three injured in Ukrainian attacks in the \"LNR\"; TASS also reports ~50 aerial targets downed over the LNR in 24 h and power cuts in north Donetsk lasting at least to Oct 23 due to attacks. Unverified / EST — INFO/SA only.",
       "url": "https://tass.ru/proisshestviya/28227039",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "St Petersburg — oil terminal / Ruchyi depot / Kolpino warehouses (EST)",
     "items": [
      {
       "ts": "2026-10-18T10:34:09Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Al Jazeera",
       "summary": "Al Jazeera (AFP/Reuters) citing Governor Beglov: massive Ukrainian drone attack on St Petersburg killed at least 1, injured 5; fires at the St Petersburg Oil Terminal, Ruchyi oil depot and Kolpino industrial warehouses; 12 apartment blocks and 2 houses damaged; Pulkovo restricted. Ozon logistics centre and VK data centre (Novosergievka, Vsevolozhsk dist.) also hit; WSD highway section closed. Unverified / EST — INFO/SA only.",
       "url": "https://www.aljazeera.com/news/2026/10/18/ukrainian-drone-attack-on-russias-st-petersburg-kills-1-hits-energy-sites",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Velykyi Burluk – Nova Oleksandrivka road, Kharkiv obl. (EST — plotted Velykyi Burluk)",
     "items": [
      {
       "ts": "2026-10-18T10:52:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Kupiansk district MA head Kanashevych (via Ukrinform): UAV hit a minibus on the Velykyi Burluk–Nova Oleksandrivka road ~08:30, injuring 2; a medical facility in Velykyi Burluk damaged. UP: 4 injured in two drone attacks on vehicles in Kharkiv Oblast. Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-ato/4175625-russian-drone-strikes-minibus-in-kharkiv-region-injuring-two.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kherson obl. (EST — plotted Kherson)",
     "items": [
      {
       "ts": "2026-10-18T11:10:49Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Kyiv Independent",
       "summary": "Kyiv Independent nationwide roundup: Russian attacks in Kherson Oblast injured 32 incl. one child (Prokudin); Sumy Oblast 2 killed / 5 injured; Chernihiv Oblast 1 injured; nationwide 10 killed, 73 injured. Unverified / EST — INFO/SA only.",
       "url": "https://kyivindependent.com/russian-drones-hit-western-ukraine-as-nationwide-attacks-kill-10-injure-73/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sulina channel approach, Romanian territorial waters (EST)",
     "items": [
      {
       "ts": "2026-10-18T11:29:58Z",
       "side": "Other",
       "type": "civilian_vessel",
       "handle": "milinfolive",
       "summary": "Military Informant citing Știrile ProTV / Romanian coast guard: Comoros-flagged tanker Yara J, empty, waiting to enter the Sulina channel, was attacked by a UAV in Romanian territorial waters. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/milinfolive/181703",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "St Petersburg / Leningrad obl. (EST — plotted VK data centre area)",
     "items": [
      {
       "ts": "2026-10-18T11:49:20Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "RBC_ua_news",
       "summary": "RBC-Ukraine: Fire Point confirmed the overnight strikes on St Petersburg — FP-1 drones hit the VK data centre, Ruchyi oil depot and the Petersburg Oil Terminal (12.5 Mt/yr); fires at terminal and depot, serious damage to the data centre reported. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/RBC_ua_news/209199",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Zaporizhzhia direction (EST — plotted Huliaipole sector)",
     "items": [
      {
       "ts": "2026-10-18T13:14:58Z",
       "side": "Russia",
       "type": "strike",
       "handle": "voin_dv",
       "summary": "Voin DV: UAV operators of the 38th Separate Guards Motor Rifle Brigade (35th Army, Vostok GoF) destroyed UA personnel on the Zaporizhzhia direction. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/voin_dv/21639",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Belgorod (EST)",
     "items": [
      {
       "ts": "2026-10-18T13:27:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "RIA Novosti",
       "summary": "Belgorod regional operational HQ (via RIA/Interfax): Belgorod attacked by UAV; fire at an infrastructure facility; preliminarily no casualties. WarTranslated / Exilenova+: substation hit. Unverified / EST — INFO/SA only.",
       "url": "https://ria.ru/20261018/belgorod-2125254802.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Black Sea ~50 km SW of Odesa port (EST)",
     "items": [
      {
       "ts": "2026-10-18T14:08:04Z",
       "side": "Russia",
       "type": "civilian_vessel",
       "handle": "mod_russia",
       "summary": "RF MoD: daytime UAV strike hit a dry-cargo ship ~50 km south-west of Odesa port said to carry military and dual-use cargo. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/mod_russia/68329",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "St Petersburg (EST)",
     "items": [
      {
       "ts": "2026-10-18T14:48:25Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Osinttechnical",
       "summary": "OSINTtechnical: the St Petersburg Ozon e-commerce distribution centre continued to burn out of control after the overnight Ukrainian drone strike. Unverified / EST — INFO/SA only.",
       "url": "https://x.com/Osinttechnical/status/2111831775617900745",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Dnipropetrovsk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-18T15:30:01Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Dnipropetrovsk OVA 18:30 18 Oct: over 20 RU attacks on four districts with drones, artillery and a guided bomb; infrastructure damaged in Dnipro; Hrushivka hromada (Kryvyi Rih dist.), Mykolaivka and Raivka hromadas (Synelnykove dist.), Nikopol, Marhanets, Chervonohryhorivka and Pokrovske hromadas hit; one woman injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dnipropetrovskaODA/32660",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Vinnytsia region (EST — plotted Vinnytsia)",
     "items": [
      {
       "ts": "2026-10-18T16:32:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Vinnytsia RMA head Zabolotna: a critical facility in the region came under fire again; 218 aerial targets over the region this week, mainly Shaheds; energy and rail facilities hit; seven casualties. Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-ato/4175695-russian-forces-launch-another-attack-on-critical-infrastructure-in-vinnytsia-region.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Novomoskovsk, Dnipropetrovsk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-18T17:04:34Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: Rubikon Center crews hit a warehouse with supplies for UA forces in Novomoskovsk, north-east of Dnipro. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/mod_russia/68333",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Belgorod/Bryansk/Kursk/Oryol/Pskov obl. (EST — plotted Belgorod)",
     "items": [
      {
       "ts": "2026-10-18T17:22:17Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: 41 Ukrainian fixed-wing UAVs intercepted 08:00–20:00 MSK over Belgorod, Bryansk, Kursk, Oryol and Pskov oblasts. Unverified / EST — INFO/SA only.",
       "url": "https://t.me/mod_russia/68334",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Staryi Saltiv, Chuhuiv district, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-18T17:31:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Kharkiv Regional Prosecutor: RU FPV drone hit a car in Staryi Saltiv ~09:30, injuring a man and a woman; 4 civilians injured by UAVs in the region over 24 h. Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-ato/4175702-russian-uav-strike-hits-car-in-kharkiv-region-injuring-two-people.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Belgorod oblast (EST)",
     "items": [
      {
       "ts": "2026-10-18T17:50:03Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "rian_ru",
       "summary": "RIA citing Belgorod regional operational HQ: seven people injured in Ukrainian attacks in Belgorod oblast (18 Oct). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/rian_ru/348193",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Korabelnyi district, Kherson (EST)",
     "items": [
      {
       "ts": "2026-10-18T17:52:09Z",
       "side": "Russia",
       "type": "strike",
       "handle": "khersonskaODA",
       "summary": "Kherson OVA: a 58-year-old man injured in the 17 Oct RU airstrikes on Kherson's Korabelnyi district died in hospital; toll from that attack now 2 killed, 35 injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/khersonskaODA/69852",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Rivne region (EST — plotted Rivne)",
     "items": [
      {
       "ts": "2026-10-18T19:10:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Rivne RMA: Russian forces attacked a production facility in Rivne region, which suspended operations; no casualties (Koval). Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-ato/4175718-russian-forces-strike-industrial-facility-in-rivne-region.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Belgorod / Voronezh obl. (EST — plotted Belgorod)",
     "items": [
      {
       "ts": "2026-10-18T19:26:40Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "wartranslated",
       "summary": "WarTranslated citing Russian monitoring resources: up to 350 drones in the air, heaviest over Belgorod and Voronezh; smaller clusters near Kursk, Rostov, Luhansk and western Crimea. Unverified / EST — INFO/SA only.",
       "url": "https://x.com/wartranslated/status/2111901799921664477",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Chortkiv / Kremenets district, Ternopil obl. (EST — plotted Chortkiv)",
     "items": [
      {
       "ts": "2026-10-18T19:34:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ternopil RMA head Pastukh: UAV attacks over 24 h hit a large enterprise in Chortkiv and several energy facilities in Kremenets district; ~19,000 consumers in 89 settlements without power. Unverified / EST — INFO/SA only.",
       "url": "https://www.ukrinform.net/rubric-ato/4175721-russian-attacks-leave-19000-consumers-without-power-in-ternopil-region.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sumy city (EST)",
     "items": [
      {
       "ts": "2026-10-18T20:10:17Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Suspilne evening roundup: RU forces struck a multi-storey building in Sumy; a 23-year-old woman injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/77747",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Chernihiv (EST)",
     "items": [
      {
       "ts": "2026-10-18T20:10:17Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Suspilne evening roundup: a RU UAV hit the grounds of a military lyceum in Chernihiv; a guard injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/77747",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Saltivskyi district, Kharkiv (EST)",
     "items": [
      {
       "ts": "2026-10-18T20:11:40Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Interfax-Ukraine",
       "summary": "Kharkiv Mayor Terekhov (via Interfax-Ukraine): a RU UAV hit the roof of a 16-storey building in Saltivskyi district; two people injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://interfax.com.ua/news/general/1222090.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "European Russia — Kaluga/Penza/Tambov/Saratov (EST, plotted Kaluga)",
     "items": [
      {
       "ts": "2026-10-18T20:13:22Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "wartranslated",
       "summary": "WarTranslated: air-raid sirens across almost all of European Russia incl. Leningrad region; airports shut in Kaluga, Penza, Tambov and Saratov regions; missile activity reported heading toward Moscow region (evening 18 Oct). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://x.com/wartranslated/status/2111913551002522034",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kyiv — Desnianskyi / Dniprovskyi districts (EST)",
     "items": [
      {
       "ts": "2026-10-18T21:16:55Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Kyiv Mayor Klitschko (via Suspilne / Kyiv Independent): ~23:00 Kyiv time 18 Oct RU ballistic strike hit a medical centre in Desnianskyi district and a non-residential building in Dniprovskyi district; 1 killed (KI: a 21-year-old woman), 2 injured, one hospitalised. Sirens sounded simultaneously with explosions. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/77750",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kyiv (EST)",
     "items": [
      {
       "ts": "2026-10-18T21:35:58Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dva_majors",
       "summary": "Two Majors: Kyiv partly without electricity after a series of strikes; trains and part of the metro stopped; \"reports\" of strikes on CHP-5, CHP-6 and substations. Unconfirmed target list. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dva_majors/100665",
       "status": "not_verified"
      }
     ]
    }
   ]
  },
  {
   "date": "2026-10-19",
   "areas": [
    {
     "area": "Ukraine-wide (EST — plotted Kyiv)",
     "items": [
      {
       "ts": "2026-10-19T06:20:01Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "GeneralStaffZSU",
       "summary": "UA Air Force (via General Staff) 19 Oct 09:00: overnight RU attacked with Iskander-M/S-400 ballistic missiles, Iskander-K cruise missiles and 269 Shahed-type UAVs (59 jet-powered), S-8000 Banderol, Gerbera and Parodiya decoys; 247 targets downed/suppressed (4 Iskander-K, 243 UAVs); hits at 25 locations, debris at 8. Launch areas listed: Oryol, Bryansk, Kursk, Primorsko-Akhtarsk, Shatalovo, Millerovo, occupied Donetsk, Hvardiiske (Crimea). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42627",
       "status": "official_statement"
      },
      {
       "ts": "2026-10-19T10:42:41Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Kyiv Independent",
       "summary": "Kyiv Independent roll-up: at least 4 killed and 55 injured across Ukraine over the past day per regional authorities; 550,000 households lost power; outages in 10 regions (Ukrenergo). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://kyivindependent.com/3-killed-53-injured-in-russian-attacks-across-ukraine-over-past-day-as-550-000-households-lose-power/",
       "status": "corroborated"
      },
      {
       "ts": "2026-10-19T13:01:26Z",
       "side": "Russia",
       "type": "strike",
       "handle": "V_Zelenskiy_official",
       "summary": "Zelensky after a regional call: 28 substations and other important energy facilities hit in the latest wave; separately the C-in-C reported Starlink/Starshield terminals stop working at 130–161 km/h on various front sectors, hampering logistics and drone use. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/V_Zelenskiy_official/21435",
       "status": "official_statement"
      },
      {
       "ts": "2026-10-19T15:01:01Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: during 18 Oct RU used 463 strike UAVs (Shahed-131/136/238, Parodiya, Gerbera, Banderol/Dan-T, Italmas); UA air defence neutralised 418 (90.28%). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42629",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Nova Vodolaha, Kharkiv obl. — central park (EST)",
     "items": [
      {
       "ts": "2026-10-19T16:53:08Z",
       "side": "Russia",
       "type": "strike",
       "handle": "V_Zelenskiy_official",
       "summary": "Zelensky: a Shahed struck a park near a café in Nova Vodolaha (Kharkiv obl.); six killed incl. children (a girl of ~1 year and an 11-year-old), 14 injured incl. six more children. Ukrinform: strike on the central park when many families were there. Local mourning declared (Suspilne). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/V_Zelenskiy_official/21437",
       "status": "official_statement"
      },
      {
       "ts": "2026-10-19T17:12:29Z",
       "side": "Russia",
       "type": "strike",
       "handle": "synegubov",
       "summary": "Kharkiv OVA head Syniehubov (updated): in Nova Vodolaha two children (girls aged 11 and 1.2) and four adults were killed; 15 injured incl. 7 children. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/synegubov/26802",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia direction (EST — place not stated)",
     "items": [
      {
       "ts": "2026-10-19T17:45:08Z",
       "side": "Russia",
       "type": "strike",
       "handle": "voin_dv",
       "summary": "Voin DV: the 14th Separate Spetsnaz Brigade (Vostok GoF) struck UA equipment and personnel on the Zaporizhzhia direction. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/voin_dv/21661",
       "status": "not_verified"
      },
      {
       "ts": "2026-10-19T21:45:09Z",
       "side": "Russia",
       "type": "strike",
       "handle": "voin_dv",
       "summary": "Voin DV: Sakhalin troops of the 39th GMRB (68th Army Corps, Vostok) destroy Ukrainian UGV control antennas on the Zaporizhzhia direction. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/voin_dv/21663",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Occupied Donetsk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-19T01:18:36Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "TASS",
       "summary": "TASS citing the DPR occupation \"department documenting Ukraine's war crimes\": 8 Ukrainian attacks on the \"DPR\" in the past day (11 projectiles), 1 civilian killed, damage to a truck, a car and two infrastructure facilities. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://tass.com/defense/2203889",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kyiv — left-bank metro (Chernihivska/Lisova) & Solomianskyi (EST)",
     "items": [
      {
       "ts": "2026-10-19T01:45:33Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Second ballistic attack on Kyiv ~03:00 Kyiv time 19 Oct (Klitschko / KMDA via Suspilne): a ground metro station on the left bank damaged with track and contact-rail ruptures, Chernihivska and Lisova stations closed; missile debris hit the first floor of a 25-storey building in Solomianskyi district (3 injured, treated on site) and a non-residential building. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/77764",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia oblast front (EST — plotted Orikhiv)",
     "items": [
      {
       "ts": "2026-10-19T04:00:07Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ivan_fedorov_zp",
       "summary": "Zaporizhzhia OVA (Fedorov): over the day RU made 738 strikes on 56 settlements: 22 airstrikes (incl. Malokaterynivka, Kushuhum, Orikhiv, Vilniansk), 500 UAVs (mostly FPV) incl. Zaporizhzhia city, 5 MLRS attacks on Orikhiv and Novoselivka, 211 artillery strikes; 3 injured in Zaporizhzhia district. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ivan_fedorov_zp/49069",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "St Petersburg + Leningrad obl. (RU) (EST)",
     "items": [
      {
       "ts": "2026-10-19T04:11:42Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Meduza",
       "summary": "Meduza: the 18 Oct Ukrainian drone attack on St Petersburg and Leningrad oblast (largest there so far) hit a port oil terminal, the Ruchyi oil depot, an Ozon warehouse, a VK data centre, the Vostochnaya substation, a cable-stayed bridge and a hospital; 1 killed, 15 injured. NOELreports cites satellite imagery: 3 oil-terminal tanks fire-damaged, 1 destroyed. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://meduza.io/en/feature/2026/10/19/in-pictures-biggest-ukrainian-drone-attack-yet-on-st-petersburg-and-leningrad-region-kills-1-injures-15-and-sparks-many-fires",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Dnipro city + Nikopol district (EST — plotted Dnipro)",
     "items": [
      {
       "ts": "2026-10-19T05:00:17Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Dnipropetrovsk OVA 08:00 19 Oct: RU attacked three districts 20+ times with drones and KABs; in Dnipro infrastructure and private houses damaged, three homes destroyed, an 84-year-old woman hospitalised; Nikopol district, Pokrovska and Marhanets hromadas hit; fire in Zaitseve hromada. Later: a 55-year-old man injured in Dnipro. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dnipropetrovskaODA/32672",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kherson oblast right bank (EST — plotted Kherson)",
     "items": [
      {
       "ts": "2026-10-19T05:04:13Z",
       "side": "Russia",
       "type": "strike",
       "handle": "khersonskaODA",
       "summary": "Kherson OVA 06:00 18→19 Oct: Stanislav, Beryslav, Novoraisk, Antonivka, Komyshany, Bilozerka-area villages and Kherson city under aviation, drone and artillery fire; 4 private houses damaged, 1 child injured; 2 evacuated. Kherson 17 Oct airstrike injured rose to 44. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/khersonskaODA/69854",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kyiv — Desnianskyi, Solomianskyi, Dniprovskyi districts (EST)",
     "items": [
      {
       "ts": "2026-10-19T05:08:53Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Kyiv SES via Suspilne: overnight RU attack on Kyiv killed 1 and injured at least 8 in three districts; fire in a 3-storey non-residential building in Desnianskyi, a metro station damaged. Later reports: Cosmo Multimall (Shuliavka) heavily damaged, ice arena \"Shalett\" and NEURC building damaged. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/77772",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Western Russia — Belgorod…Tatarstan (EST — plotted Bryansk)",
     "items": [
      {
       "ts": "2026-10-19T05:47:56Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: overnight 149 Ukrainian fixed-wing UAVs intercepted over Belgorod, Bryansk, Kursk, Kaluga, Tula, Oryol, Lipetsk, Voronezh, Samara, Rostov regions, Tatarstan, Udmurtia and Crimea. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68340",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kursk obl. (RU) (EST — plotted Kursk)",
     "items": [
      {
       "ts": "2026-10-19T06:18:58Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "dva_majors",
       "summary": "Kursk governor (relayed by Two Majors): 258 UA UAVs downed 09:00 18→19 Oct; 72 artillery attacks on evacuated areas, 15 drone-dropped munition attacks; a 42-year-old woman injured by UAV debris in Kursk; damage in Kuibyshev settlement (Rylsk district) and Ushakovo/Sakharovka (Kursk district). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dva_majors/100671",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kyiv + Irpin, Kyiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-19T06:27:46Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: overnight massive strike hit in Kyiv the \"Data Group\" data centre, the Fire Point logistics hub (claimed UAV components and FP-5 Flamingo engines), the Khimvolokno plant (claimed UAV warhead components) and the Kyiv locomotive depot (claimed FP-5/FP-9 storage); in Kyiv obl. the \"Planeta Plastik\" plant in Irpin. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68342",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "~130 km SW of Odesa port, Black Sea (EST — approx)",
     "items": [
      {
       "ts": "2026-10-19T06:27:46Z",
       "side": "Russia",
       "type": "civilian_vessel",
       "handle": "mod_russia",
       "summary": "RF MoD: a dry-cargo ship carrying military and dual-use cargo was hit at sea ~130 km south-west of Odesa port. Military Informant posted claimed \"Geran-4 seeker\" strike footage on a dry-cargo ship in the Black Sea. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68342",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kushuhum, Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-19T07:04:47Z",
       "side": "Russia",
       "type": "strike",
       "handle": "zoda_gov_ua",
       "summary": "Zaporizhzhia OVA: in the morning RU forces hit Kushuhum with four guided aerial bombs; a 57-year-old man killed, nearby private houses damaged. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/zoda_gov_ua/68505",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Datagroup data centre, Kyiv (EST — exact site not stated)",
     "items": [
      {
       "ts": "2026-10-19T07:18:20Z",
       "side": "Russia",
       "type": "strike",
       "handle": "RBC_ua_news",
       "summary": "RBC-Ukraine relaying Datagroup: a RU ballistic strike destroyed the Datagroup data centre in Kyiv; equipment and infrastructure fully disabled, restoration impossible; no staff hurt, services moved to backup sites. RF MoD lists the \"Data Group\" data centre among its targets. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/RBC_ua_news/209259",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Kyiv and Kyiv oblast (EST)",
     "items": [
      {
       "ts": "2026-10-19T07:48:02Z",
       "side": "Russia",
       "type": "strike",
       "handle": "V_Zelenskiy_official",
       "summary": "Zelensky 19 Oct: RU used 16 ballistic missiles overnight in a targeted attack on Kyiv and Kyiv oblast, plus 200+ drones incl. jet Shaheds; energy facilities hit in 11 oblasts, >10 energy objects damaged, at least 550,000 families without power; again no warning from partners. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/V_Zelenskiy_official/21425",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sumy oblast (EST — plotted Sumy)",
     "items": [
      {
       "ts": "2026-10-19T08:24:53Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Suspilne Sumy",
       "summary": "UA 8th Air Assault Corps (via Suspilne Sumy): ~180 KAB strikes on Sumy oblast in the first half of October (June 503, July 390, Aug 414, Sept 398); a RU deputy company commander for political work captured on the North-Slobozhanskyi direction. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://suspilne.media/sumy/1431049-za-persu-polovinu-zovtna-sumsina-zaznala-majze-180-udariv-kabami-8-korpus-dsv/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kharkiv oblast (EST — plotted Izium district)",
     "items": [
      {
       "ts": "2026-10-19T09:15:16Z",
       "side": "Russia",
       "type": "strike",
       "handle": "synegubov",
       "summary": "Kharkiv OVA (Syniehubov) weekly: 52 settlements hit incl. Kharkiv city; 141 injured (10 children), 6 killed; RU used 27 missiles, 18 KABs, 2 FABs, 14 Geran-2, 4 Lancet, 13 Molniya, 53 FPV and 651 other UAVs; heaviest damage in Izium and Kupiansk districts. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/synegubov/26785",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kryvyi Rih, industrial enterprise (EST)",
     "items": [
      {
       "ts": "2026-10-19T09:31:05Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Dnipropetrovsk OVA: RU attack on an industrial enterprise in Kryvyi Rih killed two men; injured rose to seven incl. a 15-year-old; Vilkul (via Suspilne) says a \"Banderol\"-type loitering munition was used. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dnipropetrovskaODA/32691",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Komyshany, Kherson obl. (EST)",
     "items": [
      {
       "ts": "2026-10-19T09:41:12Z",
       "side": "Russia",
       "type": "strike",
       "handle": "khersonskaODA",
       "summary": "Kherson OVA: around 11:20 RU artillery shelled Komyshany; a 72-year-old woman seriously injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/khersonskaODA/69868",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Novovorontsovka, Kherson obl. (EST)",
     "items": [
      {
       "ts": "2026-10-19T11:50:48Z",
       "side": "Russia",
       "type": "strike",
       "handle": "khersonskaODA",
       "summary": "Kherson OVA: around 14:00 a RU drone attack in Novovorontsovka injured two people incl. a 17-year-old (Suspilne later: three injured). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/khersonskaODA/69878",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kramatorsk direction (EST)",
     "items": [
      {
       "ts": "2026-10-19T12:25:28Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: Yug (Southern) GoF UAS operators destroyed five Ukrainian ground robotic systems on the Kramatorsk direction. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68347",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Trubchevsk, Bryansk obl. (RU) (EST)",
     "items": [
      {
       "ts": "2026-10-19T12:31:14Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: on 18 Oct and overnight 19 Oct UA forces hit a radar station near Trubchevsk (Bryansk obl.), an artillery firing position and UAV crew position near Lyman Pershyi (Kharkiv obl.), ammunition depots near Hrintal and Ternove and a materiel depot near Pelahiivka (Donetsk obl.), and personnel concentrations near Svobodne, Volodymyrivka (Donetsk obl.) and Naberezhne (Zaporizhzhia obl.). Plotted at Trubchevsk. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42628",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Irpin, Kyiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-19T13:32:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Kyiv OVA head Tkachenko (via Ukrinform): RU attack on Irpin killed a woman and injured 19 incl. 9 children; 86 structures damaged (~70 private homes, 5 high-rises). RF MoD claims it hit the \"Planeta Plastik\" plant in Irpin. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4175969-russian-attack-on-irpin-kills-one-person-and-injures-19-including-nine-children.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Southern Bridge, Dnipro (EST)",
     "items": [
      {
       "ts": "2026-10-19T13:32:56Z",
       "side": "Russia",
       "type": "strike",
       "handle": "milinfolive",
       "summary": "Military Informant: aftermath of a FAB/UMPK hit on the Southern Bridge over the Dnipro in Dnipro city; NOELreports: KAB blasted a large hole in the roadway, crossing expected closed for at least a month. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/milinfolive/181768",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Occupied Luhansk obl. (EST — place not stated; plotted Luhansk)",
     "items": [
      {
       "ts": "2026-10-19T14:18:50Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "TASS: RU-installed LNR head Pasechnik says 3 killed and 2 injured when AFU struck a funeral-service vehicle carrying a deceased person; location not stated. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/401113",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Lysychansk–Luhansk road, occupied Luhansk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-19T14:33:25Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "wargonzo",
       "summary": "WarGonzo relaying LNR head Pasechnik: besides the strike on a funeral-service car in Pervomaisk (3 killed), a UA UAV hit a truck on the Lysychansk–Luhansk road, injuring the driver; a repeat attack on the same stretch injured a 27-year-old man. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/wargonzo/37745",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Nova Vodolaha, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-19T14:56:13Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ukrinform_news",
       "summary": "Ukrinform first report: RU drone hit the central park in Nova Vodolaha; two women and an infant killed, at least 15 injured incl. 7 children. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ukrinform_news/171794",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Black Sea, sea approach to Odesa (EST — exact position not stated)",
     "items": [
      {
       "ts": "2026-10-19T15:07:37Z",
       "side": "Russia",
       "type": "naval",
       "handle": "mod_russia",
       "summary": "RF MoD: during the day RU forces continued UAV strikes on Ukrainian port infrastructure and on vessels carrying military cargo; a dry-cargo ship bound for Odesa with cargo for the AFU was hit at sea. Ship name/flag not stated. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68350",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Dnipro, Kryvyi Rih, Nikopol district (EST — plotted Dnipro)",
     "items": [
      {
       "ts": "2026-10-19T15:30:19Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Dnipropetrovsk OVA 18:30 19 Oct: two killed and ten injured incl. a child; RU attacked three districts >20 times with UAVs and artillery — Dnipro (infrastructure, apartment block), Kryvyi Rih (enterprise, bank, shops, school; 2 killed), Zelenodolsk hromada, Nikopol district (Marhanets, Chervonohryhorivka, Pokrovske hromadas). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dnipropetrovskaODA/32693",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Molodetske, Bilozerka hromada, Kherson obl. (EST)",
     "items": [
      {
       "ts": "2026-10-19T15:38:01Z",
       "side": "Russia",
       "type": "strike",
       "handle": "khersonskaODA",
       "summary": "Kherson OVA: at about 16:20 local a RU drone attacked a resident of Molodetske (Bilozerka hromada); a 63-year-old man suffered blast and shrapnel injuries. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/khersonskaODA/69902",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kramatorsk direction (EST — place not named)",
     "items": [
      {
       "ts": "2026-10-19T16:04:51Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dva_majors",
       "summary": "Two Majors: UAV operators of the 72nd unmanned systems brigade strike Ukrainian ground robotic systems on the Kramatorsk direction; claims fire control over a settlement area makes vehicle transport risky, forcing UA to use UGVs for supply. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dva_majors/100699",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kherson obl. (EST — plotted Kherson)",
     "items": [
      {
       "ts": "2026-10-19T16:17:51Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "khersonskaODA",
       "summary": "Kherson OVA: over the past week UA defenders eliminated 92% of drones Russia used against Kherson oblast — almost 1,900 drones. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/khersonskaODA/69903",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kherson oblast (EST — plotted Kherson city)",
     "items": [
      {
       "ts": "2026-10-19T16:30:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform: RU attacks in Kherson region injured seven people over the past day; UP separately reports an ambulance driver killed in Kherson while his crew was rescuing civilians. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4176028-russian-attacks-in-kherson-region-injure-seven-people-over-past-day.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Velykyi Burluk direction, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-19T16:33:07Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dva_majors",
       "summary": "Two Majors: troops of the 1st Motor Rifle Regiment of the RVSN with special-forces unit \"Anvar\" struck a Ukrainian 2S3 Akatsiya SP gun on the Velykyi Burluk direction after drone reconnaissance. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dva_majors/100700",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Novomoskovsk (Samar) & Pidhorodne, Dnipropetrovsk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-19T17:27:01Z",
       "side": "Russia",
       "type": "strike",
       "handle": "milinfolive",
       "summary": "Military Informant: the Rubikon center has joined long-range strikes with jet-powered \"Geran-4 seeker\" UAVs; first footage shows strikes on a warehouse in Novomoskovsk and the Epicentr shopping centre in Pidhorodne (Dnipropetrovsk obl.). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/milinfolive/181787",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Belgorod, Kursk, Crimea, Perm krai (EST — plotted Belgorod)",
     "items": [
      {
       "ts": "2026-10-19T17:36:04Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: between 08:00 and 20:00 Moscow time air defence destroyed 13 Ukrainian fixed-wing UAVs over Belgorod and Kursk oblasts, Crimea and Perm krai. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68353",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Dnipropetrovsk direction (EST — places not stated; plotted Mezhova area)",
     "items": [
      {
       "ts": "2026-10-19T17:37:33Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: unmanned-systems crews of the Tsentr group of forces destroyed three AFU UAV control points on the Dnipropetrovsk direction (places not named). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68354",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Khmelnytskyi city (EST)",
     "items": [
      {
       "ts": "2026-10-19T17:55:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Interfax-Ukraine",
       "summary": "Interfax-Ukraine (oblast administration): two elderly women killed in a RU attack on residential buildings in Khmelnytskyi; 3 injured reported earlier. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://interfax.com.ua/news/general/1222811.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ukraine-wide (EST — plotted Kharkiv obl.)",
     "items": [
      {
       "ts": "2026-10-19T18:20:15Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Suspilne daily roll-up 19 Oct: at least 14 killed and more than 75 injured by RU attacks — Kharkiv obl. 6 killed (Nova Vodolaha), Khmelnytskyi 2, Dnipropetrovsk obl. 2, Donetsk obl. 1 (a car hit on the Donetske–Sloviansk road), Kyiv obl. 2 (Irpin, Obukhiv district), Kyiv city 1; Kherson obl. 7 injured, Rivne 3 injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/77817",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Obukhiv, Kyiv obl. — enterprise (EST)",
     "items": [
      {
       "ts": "2026-10-19T18:34:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Interfax-Ukraine",
       "summary": "Interfax-Ukraine (Kyiv OVA): RU attack on an enterprise in Obukhiv killed one person and injured six. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://interfax.com.ua/news/general/1222822.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kovel, Volyn obl. — Epicentr hypermarket (EST)",
     "items": [
      {
       "ts": "2026-10-19T18:39:53Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Suspilne Lutsk",
       "summary": "Suspilne Lutsk: on the evening of 19 Oct an RU drone attack caused a fire at the Epicentr building-supplies hypermarket in Kovel (per local residents); explosions also heard in Lutsk ~21:15 local. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://suspilne.media/lutsk/1431723-vnaslidok-ataki-rf-u-koveli-stalasa-pozeza-na-teritorii-budivelnogo-gipermarketu/",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Zviahel, Zhytomyr obl. — Cersanit plant (EST)",
     "items": [
      {
       "ts": "2026-10-19T18:49:34Z",
       "side": "Russia",
       "type": "strike",
       "handle": "RBC_ua_news",
       "summary": "RBC-Ukraine: Cersanit will fully stop production at its Zviahel (Zhytomyr obl.) plant after being hit twice by RU drones since September, citing constant alerts, evacuations and power disruptions. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/RBC_ua_news/209327",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Irpin area, Kyiv obl. — Ecosoft / Planeta Plastic (EST)",
     "items": [
      {
       "ts": "2026-10-19T19:17:27Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Kyiv Post",
       "summary": "Kyiv Post: RU ballistic missiles struck facilities of water-purification company Ecosoft and polymer maker Planeta Plastic overnight 18→19 Oct, part of an attack with 16 missiles and 200+ drones (Liveuamap places NVO Ekosoft in Irpin). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.kyivpost.com/post/87548",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Lviv obl. — critical energy object (EST — exact place not stated; plotted Lviv)",
     "items": [
      {
       "ts": "2026-10-19T19:35:46Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Suspilne Lviv",
       "summary": "Suspilne Lviv citing OVA head Kozytskyi: on the evening of 19 Oct an RU drone attacked a critical energy infrastructure object in Lviv oblast, then struck the same object again ~40 min later; Air Force tracked a jet-powered UAV heading for Lviv; explosions heard ~00:30 local. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://suspilne.media/lviv/1431731-na-lvivsini-pid-cas-povitranoi-trivogi-19-zovtna-pracuvala-ppo/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Black Sea off Bulgaria (EST — position not stated)",
     "items": [
      {
       "ts": "2026-10-19T20:25:17Z",
       "side": "Unknown",
       "type": "naval",
       "handle": "milinfolive",
       "summary": "Military Informant citing Bulgarian PM Rumen Radev: two dry-cargo ships were again attacked off Bulgaria; one sank, the other (Chelsea 3) was damaged. Attacker not stated. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/milinfolive/181793",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Romny, Sumy obl. (EST)",
     "items": [
      {
       "ts": "2026-10-19T20:36:19Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Suspilne Sumy",
       "summary": "Suspilne Sumy: at about 22:40 local the RU army attacked Romny; a civilian object damaged and a fire broke out; preliminarily no injuries. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://suspilne.media/sumy/1431755-rosijska-armia-atakuvala-romni-poskodzeno-civilnij-obekt/",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Izium, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-19T21:16:56Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Suspilne: explosions heard in Izium, per the city military administration (no details). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/77826",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Poland, Podkarpackie (EST)",
     "items": [
      {
       "ts": "2026-10-19T21:41:19Z",
       "side": "Other",
       "type": "air_defense",
       "handle": "RBC_ua_news",
       "summary": "RBC-Ukraine: Poland scrambled aircraft for the third time on 19 Oct in response to RU attacks on Ukraine; aircraft again active on the night of 20 Oct, warnings in Podkarpackie voivodeship. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/RBC_ua_news/209338",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Mykolaiv (EST)",
     "items": [
      {
       "ts": "2026-10-19T22:00:57Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Suspilne correspondents: explosions heard in Mykolaiv (night 19→20 Oct; no details). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/77827",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kherson obl. — 24 settlements incl. Kherson, Beryslav, Stanislav (EST — plotted Kherson)",
     "items": [
      {
       "ts": "2026-10-19T22:28:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform citing Kherson OVA head Prokudin: over 24 h RU attacked 24 settlements in Kherson oblast (Stanislav, Beryslav, Novoraisk, Antonivka, Komyshany, Dudchany, Kherson, etc.); a child injured, four private homes damaged. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-society/4175791-russian-shelling-in-kherson-region-injures-child-as-forces-attack-over-20-settlements-in-past-24-hours.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Khmelnytskyi obl. — enterprise (EST — place not stated; plotted Khmelnytskyi)",
     "items": [
      {
       "ts": "2026-10-19T22:45:55Z",
       "side": "Russia",
       "type": "strike",
       "handle": "RBC_ua_news",
       "summary": "RBC-Ukraine citing Khmelnytskyi OVA: Russians attacked one of the enterprises in Khmelnytskyi oblast (evening/night 19 Oct; details not stated). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/RBC_ua_news/209339",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sumy — Zarichnyi district apartment building (EST)",
     "items": [
      {
       "ts": "2026-10-19T23:51:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Interfax-Ukraine",
       "summary": "Interfax-Ukraine / RBC-Ukraine: acting Sumy mayor Artem Kobzar says a RU drone hit an apartment building at about 02:00 local on 20 Oct (Zarichnyi district per RBC); fire broke out. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://interfax.com.ua/news/general/1222846.html",
       "status": "official_statement"
      }
     ]
    }
   ]
  },
  {
   "date": "2026-10-20",
   "areas": [
    {
     "area": "Kramatorsk, Donetsk obl.",
     "items": [
      {
       "ts": "2026-10-20T09:18:17Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Suspilne Donbas",
       "summary": "Suspilne Donbas: a RU guided-bomb strike on Kramatorsk on 20 Oct killed three employees of a heat-supply company checking networks before the heating season; five civilians injured (Kramatorskteploenergo, Kramatorsk MVA, Donetsk prosecutors). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://suspilne.media/donbas/1432095-u-kramatorsku-vnaslidok-rosijskogo-aviaudaru-zaginuli-troe-pracivnikiv-teplopostacalnogo-pidpriemstva/",
       "status": "official_statement"
      },
      {
       "ts": "2026-10-20T22:05:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrainska Pravda",
       "summary": "Ukrainska Pravda / Donetsk Oblast Prosecutor's Office: a RU attack on Kramatorsk on 20 Oct killed three civilians and injured two, damaging three multi-storey residential buildings. May overlap with kramatorsk-20261020-3-heat-workers-killed (Suspilne: 4 killed, 6 injured in three attacks). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.pravda.com.ua/eng/news/2026/10/21/8058891/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Dubno, Rivne obl.",
     "items": [
      {
       "ts": "2026-10-20T10:18:54Z",
       "side": "Russia",
       "type": "strike",
       "handle": "RBC_ua_news",
       "summary": "RBC-Ukraine / Rivne OVA: a RU strike hit a shopping centre in Dubno, three injured (two hospitalised); RU channels show a jet Geran hitting an Epicentr store in Dubno. Ukrzaliznytsia denied reports of a hit on Dubno station. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/RBC_ua_news/209388",
       "status": "official_statement"
      },
      {
       "ts": "2026-10-20T15:30:11Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: daytime UAV strikes on Ukrainian logistics and port infrastructure; claims hit on the \"Epicentr-K\" logistics centre in Dubno (Rivne obl.), alleging its warehouse complex is used by the AFU. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68375",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Novobavarskyi district, Kharkiv",
     "items": [
      {
       "ts": "2026-10-20T13:26:23Z",
       "side": "Russia",
       "type": "strike",
       "handle": "synegubov",
       "summary": "Kharkiv OVA (Syniehubov) / Mayor Terekhov: a RU missile strike on private housing and a civilian enterprise in Kharkiv's Novobavarskyi district (afternoon 20 Oct) injured seven; earlier a missile hit Shevchenkivskyi district and a UAV Osnovianskyi district. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/synegubov/26822",
       "status": "official_statement"
      },
      {
       "ts": "2026-10-20T18:36:36Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ukrinform_news",
       "summary": "Ukrinform / DSNS: 9 people injured by RU strikes in Kharkiv on 20 Oct; two strikes on residential and civilian infrastructure in Novobavarskyi district, one private house destroyed. Updated toll of kharkiv-20261020-novobavarskyi-missile (earlier 7 injured). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ukrinform_news/171853",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Pervomaisk, Mykolaiv obl.",
     "items": [
      {
       "ts": "2026-10-20T18:14:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform / Mykolaiv OVA acting head Reshetilov: a RU UAV struck the Epicentr shopping centre in Pervomaisk (Mykolaiv obl.) in the evening; two women injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4176470-russian-forces-strike-epicentr-shopping-center-in-pervomaisk-injuring-two-women.html",
       "status": "official_statement"
      },
      {
       "ts": "2026-10-20T20:41:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform / Mykolaiv OVA acting head Reshetilov: injury toll from the RU drone strike on the Epicentr shopping centre in Pervomaisk rose to eight (five women, three men); two hospitalised. Update of mykolaiv-20261020-pervomaisk-epicentr. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4176498-injury-toll-from-russian-strike-on-epicentr-shopping-mall-in-pervomaisk-rises-to-eight.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "E of Stepnohirsk, SE of Zaporizhzhia City (EST)",
     "items": [
      {
       "ts": "2026-10-20T00:15:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "ISW / CTP",
       "summary": "ISW 19 Oct: UA forces recently struck a Russian position east of Stepnohirsk (geolocated, 18 Oct) after what ISW assesses was a Russian infiltration mission. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-19-2026/",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Occupied Donetsk obl. (EST — places not stated; plotted Donetsk)",
     "items": [
      {
       "ts": "2026-10-20T00:28:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "TASS",
       "summary": "TASS: the RU-installed DPR administration says UA troops attacked DPR settlements 14 times in 24 h, firing 17 munitions; two civilians injured; 13 houses, 7 civilian infrastructure objects and vehicles damaged. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://tass.com/politics/2204409",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia obl. (EST — plotted Zaporizhzhia city)",
     "items": [
      {
       "ts": "2026-10-20T04:00:51Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ivan_fedorov_zp",
       "summary": "Zaporizhzhia OVA (Fedorov): over the past day RU made 848 strikes on 52 settlements — 14 air strikes, 613 UAVs (mostly FPV), 2 MLRS and 219 artillery strikes; one killed, five injured in Zaporizhzhia city and district. Later on 20 Oct a strike on a warehouse in Zaporizhzhia injured two. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ivan_fedorov_zp/49077",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Obukhiv district, Kyiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-20T04:32:20Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Suspilne / DSNS: three people killed and six injured in a RU strike on a production-and-warehouse building in Obukhiv district, Kyiv obl., on the evening of 19 Oct. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/77836",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kherson obl. (EST — plotted Kherson city)",
     "items": [
      {
       "ts": "2026-10-20T04:50:45Z",
       "side": "Russia",
       "type": "strike",
       "handle": "khersonskaODA",
       "summary": "Kherson OVA daily (06:00 19 Oct – 06:00 20 Oct): RU aviation, drones and artillery hit 36 settlements incl. Kherson city, Antonivka, Bilozerka, Beryslav; 18 injured incl. a child; separately a drone hit a car near Bilousove (Velykoleksandrivka hromada) injuring a 66-year-old; Kherson 17 Oct air-strike toll rose to 48 injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/khersonskaODA/69916",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Reni port, Odesa obl. (EST — also Khmelnytskyi & Kovel)",
     "items": [
      {
       "ts": "2026-10-20T04:59:37Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: overnight UAV strikes hit the \"Grand Import\" logistics centre in Khmelnytskyi, the Vindor Trans Service logistics centre in Kovel (Volyn), three dry-cargo ships unloading in Reni port plus port infrastructure, and a dry-cargo ship en route to Odesa, all described as carrying military/dual-use cargo. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68362",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "European Russia (EST — plotted Kursk; 13 regions + Moscow region)",
     "items": [
      {
       "ts": "2026-10-20T05:14:41Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: from 20:00 MSK 19 Oct to 08:00 MSK 20 Oct air defence intercepted 136 Ukrainian fixed-wing UAVs over Belgorod, Bryansk, Voronezh, Kaluga, Kursk, Lipetsk, Orel, Pskov, Ryazan, Smolensk, Tambov, Tver, Tula oblasts and the Moscow region. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68363",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ukraine-wide (EST — plotted Kyiv)",
     "items": [
      {
       "ts": "2026-10-20T05:31:01Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "GeneralStaffZSU",
       "summary": "UA Defence Forces / Air Force: overnight into 20 Oct (from 18:00 19 Oct) Russia launched 165 strike UAVs (105 jet-powered Shaheds) plus Gerbera/decoys from Orel, Kursk, Primorsko-Akhtarsk, occupied Donetsk and Crimea; 115 downed/suppressed (73 jet), 20 still airborne at 08:00; hits at 30 locations, debris at 13. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42634",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Nikolskoye LPDS (Druzhba pipeline) near Michurinsk, Tambov obl. (EST)",
     "items": [
      {
       "ts": "2026-10-20T07:10:15Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "ukrinform_news",
       "summary": "Ukrinform / Suspilne / RBC-UA citing OSINT channels: UA drones hit the \"Nikolskoye\" linear dispatch station of the Druzhba oil pipeline near Michurinsk (Tambov obl.); a diesel tank on fire. Tambov governor Pervyshov confirmed a fire at \"one of the enterprises\" in Michurinsk district, no casualties (TASS/RIA). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ukrinform_news/171809",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Voroshylovskyi district, occupied Donetsk",
     "items": [
      {
       "ts": "2026-10-20T08:30:54Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "wargonzo",
       "summary": "WarGonzo / TASS: a large overnight UA drone raid hit central Donetsk (Voroshylovskyi district) — administrative and residential buildings and vehicles damaged, one civilian injured, part of the city without power. UA sources report a data centre at 60 Postysheva St was destroyed. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/wargonzo/37762",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Occupied Zaporizhzhia / Donetsk / Luhansk obl. (EST — region-level pin)",
     "items": [
      {
       "ts": "2026-10-20T08:55:45Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: on 19 Oct and overnight 20 Oct Defence Forces hit a command post near Fedorivka (Zaporizhzhia obl.), a RU repair unit near Kalmiuske (Donetsk obl.), supply depots near Kripenskyi (Luhansk), Rivnopil (Donetsk) and Lahidne (Zaporizhzhia), and troop concentrations near Rybalivka, Basan, Fedorivka, Mykolaivka (Zaporizhzhia), Zelenyi Hai, Horlivka, Selydove (Donetsk) and Svatove (Luhansk). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42636",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Oktyabrsky district, Kursk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-20T09:40:30Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "interfaxonline",
       "summary": "Kursk governor Khinshtein (Interfax/TASS): a UA fixed-wing UAV attacked an energy facility in Oktyabrsky district; three men injured; ~17,000 subscribers without power in Oktyabrsky and Kurchatov districts. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/interfaxonline/80397",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Approaches to Dobropillia (EST)",
     "items": [
      {
       "ts": "2026-10-20T09:55:10Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "HojenoGMM",
       "summary": "GazetaMilitarTV (X aggregator): drone operators of the 20th \"Lubart\" Brigade intercepted a RU assault force on the main approach route toward Dobropillia using FPV drones. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://x.com/HojenoGMM/status/2112482751328702492",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Belgorod obl. (EST)",
     "items": [
      {
       "ts": "2026-10-20T10:25:49Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "TASS",
       "summary": "TASS: RU MFA ambassador-at-large Miroshnik — UA forces attacked Belgorod obl. ~1,300 times last week, killing four civilians and injuring 55; 22 RU civilians killed and 211 injured across Russia in the week (8,200 strikes). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://tass.com/politics/2204633",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Dnipro suburbs (EST)",
     "items": [
      {
       "ts": "2026-10-20T10:40:59Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Dnipropetrovsk OVA (Hanzha): two people killed and three injured (one 27-year-old with severe burns) in a RU attack on warehouses in the Dnipro suburbs; RU channels show Geran strikes on \"Nova Liniia\" building-hypermarket warehouses in Dnipro. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dnipropetrovskaODA/32717",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ukraine-wide (EST — plotted Nova Vodolaha)",
     "items": [
      {
       "ts": "2026-10-20T10:47:23Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Kyiv Independent",
       "summary": "Kyiv Independent roll-up: at least 16 killed and 69 injured across Ukraine over the past day (Nova Vodolaha park 6 incl. 2 children; Kyiv; Obukhiv; Kramatorsk/Sloviansk; Kryvyi Rih); Ukrenergo reports new outages in 12 oblasts after attacks on energy. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://kyivindependent.com/at-least-14-killed-71-injured-in-russian-attacks-across-ukraine-over-past-day-as-russian-drone-kills-2-children-in-park/",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Balabyne, Zaporizhzhia obl.",
     "items": [
      {
       "ts": "2026-10-20T11:30:02Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Suspilne Zaporizhzhia",
       "summary": "Suspilne Zaporizhzhia: a RU drone flew into volunteer Vladyslav Makhovskyi's evacuation minibus in central Balabyne while people were being transferred between vehicles; the bus was holed, people unhurt; further evacuation runs postponed. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://suspilne.media/zaporizhzhia/1431967-rosijskij-dron-pociliv-v-evakuacijnij-bus-pid-cas-posadki-ludej-u-balabinomu/",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Obukhovskoy Oborony Ave, St Petersburg (EST)",
     "items": [
      {
       "ts": "2026-10-20T11:32:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Kyiv Post",
       "summary": "Kyiv Post citing Astra / Fontanka: a 36-year-old taxi driver was killed in St Petersburg when a downed Ukrainian drone fell on his car during the 18 Oct record drone attack — reportedly the first civilian death in the city in the full-scale war. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.kyivpost.com/post/87622",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Grabtsevo industrial park, Kaluga (EST)",
     "items": [
      {
       "ts": "2026-10-20T11:52:26Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "milinfolive",
       "summary": "Military Informant: Yandex's largest data centre in Kaluga (Grabtsevo industrial park) was attacked by UA forces; the company reported several modules completely knocked out. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/milinfolive/181825",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Novoyavorivsk, Lviv obl.",
     "items": [
      {
       "ts": "2026-10-20T11:53:50Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dva_majors",
       "summary": "Two Majors: RU jet UAVs struck energy facilities in Lviv obl. (several hits in Novoyavorivsk, Yavoriv substation repeatedly); RU war correspondents claim a strike on the Rava-Ruska border crossing, not confirmed; Ukrenergo reports outages in 12 oblasts. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dva_majors/100739",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Chabany, Kyiv–Odesa highway, Kyiv obl.",
     "items": [
      {
       "ts": "2026-10-20T12:05:27Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Suspilne / Kyiv OVA: a RU drone strike on the Kyiv–Odesa highway (Fastiv district / Chabany) set cars on fire during rush hour; at least three killed per reports, including the driver of a shuttle to the National Military Memorial Cemetery. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/77861",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "60 Postysheva St, occupied Donetsk (EST)",
     "items": [
      {
       "ts": "2026-10-20T12:32:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform citing Petro Andriushchenko (Center for the Study of the Occupation): the Ugletelecom / Elecom data centre at 60 Postysheva St in occupied Donetsk was attacked overnight and \"no longer exists\"; backbone telecom operators for the occupied Donetsk region. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4176318-data-center-attacked-overnight-in-russianoccupied-donetsk.html",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Occupied Zaporizhzhia obl. (EST — place not stated)",
     "items": [
      {
       "ts": "2026-10-20T12:42:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Ukrainska Pravda",
       "summary": "Ukrainska Pravda: drone operators of the 2nd Battalion, 413th Unmanned Systems Regiment \"Raid\" hit a rare RU BREM-1 armoured recovery vehicle fitted with EW and anti-drone cages in occupied Zaporizhzhia obl.; strike date not disclosed. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.pravda.com.ua/eng/news/2026/10/20/8058919/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Chernihiv obl. border area (EST — place not stated)",
     "items": [
      {
       "ts": "2026-10-20T12:43:33Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Suspilne Chernihiv",
       "summary": "Suspilne Chernihiv citing the State Border Guard Service: strike-UAV pilots of the 105th Border Detachment (Chernihiv obl.) destroyed RU vehicles, antennas, EW systems, relays, shelters and drones across the border; date and places not stated. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://suspilne.media/chernihiv/1432315-cernigivski-prikordonniki-znisili-rosijski-ukritta-retranslatori-droni-ta-zasobi-reb/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Enerhodar (ZNPP satellite city), occupied Zaporizhzhia obl.",
     "items": [
      {
       "ts": "2026-10-20T13:08:08Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "TASS",
       "summary": "TASS: Miroshnik claims UA forces attempted a transport blockade of Enerhodar and struck it heavily over the week; five civilians injured by shelling of the ZNPP sports complex; FPV attacks on Prydniprovska St; a mass drone raid near the city park. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://tass.com/politics/2204745",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Holosiivskyi district, Kyiv (EST)",
     "items": [
      {
       "ts": "2026-10-20T13:15:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform / Klitschko: during a daytime RU jet-drone attack on Kyiv a UAV crashed near a gas station on the border with Kyiv oblast (Holosiivskyi district) — one killed, seven injured as of 14:45; debris fell on a medical facility and rail tracks in Solomianskyi district; a fire near the Pivnichnyi bridge (garages, Desnianskyi). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4176338-russian-drone-attacks-kill-one-injure-seven-in-kyiv.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Pivdennyi (South) bridge, Dnipro city (EST)",
     "items": [
      {
       "ts": "2026-10-20T13:15:45Z",
       "side": "Russia",
       "type": "strike",
       "handle": "milinfolive",
       "summary": "Military Informant / Two Majors: a FAB with UMPK hit the Southern bridge over the Dnipro in Dnipro city (second day of strikes on Dnipro bridges; a later attempt reportedly missed). UA side reportedly said the bridge is closed for a month (as relayed by the RU channel). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/milinfolive/181826",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Central Novhorod-Siverskyi, Chernihiv obl.",
     "items": [
      {
       "ts": "2026-10-20T13:55:30Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Suspilne Chernihiv",
       "summary": "Suspilne Chernihiv / district head Seliverstov: about 16:24 a RU \"Molniya\"-type drone hit the centre of Novhorod-Siverskyi; a woman born 2001 injured. An FPV drone on fibre-optic also hit a house in Semenivka. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://suspilne.media/chernihiv/1432437-rosijskij-bpla-tipu-molnia-vluciv-u-centri-novgoroda-siverskogo/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Oleshky district, occupied Kherson obl.",
     "items": [
      {
       "ts": "2026-10-20T14:02:58Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "TASS",
       "summary": "TASS / RU MFA envoy Miroshnik: UA forces carried out massive attacks on the Oleshky district — one dead, five injured; 733 artillery/mortar rounds and 556 drone strikes recorded in Oleshky during daylight; drones also hit homes in Tarasivka, Nova Maiachka, Kostohryzove, Vynohradove, Podo-Kalynivka, Pryvitne. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://tass.com/politics/2204775",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ivano-Frankivsk obl. (EST — plotted oblast seat; facility not named)",
     "items": [
      {
       "ts": "2026-10-20T14:30:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrainska Pravda",
       "summary": "Ukrainska Pravda / Ivano-Frankivsk OVA head Onyshchuk: RU forces attacked an energy facility in Ivano-Frankivsk Oblast twice in one day; one person injured in the repeat attack. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.pravda.com.ua/eng/news/2026/10/20/8058939/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Korabelnyi district, Kherson (EST)",
     "items": [
      {
       "ts": "2026-10-20T15:04:25Z",
       "side": "Russia",
       "type": "strike",
       "handle": "khersonskaODA",
       "summary": "Kherson OVA: around 16:00 RU shelling of Kherson's Korabelnyi district hit a house — a 36-year-old woman, a 12-year-old boy and two girls aged 12 and 13 suffered blast injuries. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/khersonskaODA/69974",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Nyvky 330 kV substation, Kyiv (EST)",
     "items": [
      {
       "ts": "2026-10-20T15:19:03Z",
       "side": "Russia",
       "type": "strike",
       "handle": "milinfolive",
       "summary": "Military Informant (RU milblogger): after \"Geran\" hits on the 330 kV \"Nyvky\" substation in Kyiv, metro and surface electric transport stopped and power went out even in the Verkhovna Rada. (UA side: DTEK reported parts of four districts de-energised.) Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/milinfolive/181831",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Black Sea, sea approach to Odesa (EST — exact position not stated)",
     "items": [
      {
       "ts": "2026-10-20T15:30:11Z",
       "side": "Russia",
       "type": "naval",
       "handle": "mod_russia",
       "summary": "RF MoD: a container ship en route to the port of Odesa, allegedly carrying cargo for the AFU, was hit during its sea passage. Ship name/flag/position not stated. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68375",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Dnipropetrovsk obl. — Dnipro, Synelnykove, Nikopol, Kryvyi Rih districts (EST — plotted Dnipro)",
     "items": [
      {
       "ts": "2026-10-20T15:30:21Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Dnipropetrovsk OVA 18:30 20 Oct: two killed, seven injured; RU attacked four districts almost 70 times with drones and artillery; warehouses and infrastructure damaged in Dnipro (2 killed, 4 injured); Synelnykove, Petropavlivka, Nikopol, Marhanets, Chervonohryhorivka, Pokrov and Hrushivka hromadas hit. Daily update of dnipro-ova-20261020-warehouses-2-killed. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dnipropetrovskaODA/32725",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Near Hryhorivske, Zaporizhzhia front (EST)",
     "items": [
      {
       "ts": "2026-10-20T15:49:39Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dva_majors",
       "summary": "Two Majors: paratroopers of the 154th Separate Guards Reconnaissance Battalion (104th Air Assault Division) posted footage of a drone hit on a UA vehicle in the vicinity of Hryhorivske (Zaporizhzhia front). Cited by ISW 20 Oct ORBAT. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dva_majors/100746",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kyiv — Shevchenkivskyi and other districts (EST)",
     "items": [
      {
       "ts": "2026-10-20T16:12:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform / Kyiv City Health Department: RU attacks on Kyiv since midnight left one dead and 12 injured (6 hospitalised); police documenting damage in five districts; Klitschko reported a strike on an energy facility in Shevchenkivskyi district (DTEK: parts of 4 districts without power; Strazhesko cardiology institute hit per Ukrinform / Kyiv Independent). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4176435-russian-attacks-leave-one-dead-12-injured-in-kyiv-since-midnight.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia city (EST — location in city not stated)",
     "items": [
      {
       "ts": "2026-10-20T16:14:10Z",
       "side": "Russia",
       "type": "strike",
       "handle": "zoda_gov_ua",
       "summary": "Zaporizhzhia OVA: an RU FPV drone hit the roof of a municipal bus in Zaporizhzhia; preliminarily one person injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/zoda_gov_ua/68514",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Lviv obl. — near border crossings, Yavoriv district substations (EST)",
     "items": [
      {
       "ts": "2026-10-20T16:34:11Z",
       "side": "Russia",
       "type": "strike",
       "handle": "rybar",
       "summary": "Rybar: RU forces struck near border crossings in Lviv obl. and substations in Yavoriv district (about ten hits, outages); Volyn, Rivne, Khmelnytskyi and Ivano-Frankivsk oblasts also hit; evening strike on Kyiv's Nyvky substation stopped the metro. (Suspilne Lviv: ~30k in Novoyavorivsk without power.) Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/rybar/84051",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Pisky-Radkivski, Borova hromada, Kharkiv obl.",
     "items": [
      {
       "ts": "2026-10-20T16:45:58Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Suspilne Kharkiv",
       "summary": "Suspilne Kharkiv / Borova MVA: RU forces struck Pisky-Radkivski with about 10 guided bombs (KABs) on 20 Oct; an 80-year-old woman injured, at least six houses damaged or destroyed. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://suspilne.media/kharkiv/1432599-rf-skinula-blizko-10-kabiv-na-piski-radkivski-na-harkivsini-poranena-pensionerka/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Crimea (EST — location not stated)",
     "items": [
      {
       "ts": "2026-10-20T16:46:13Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "milinfolive",
       "summary": "Military Informant (RU milblogger, forwarded post): UA guided kamikaze drones destroyed launchers and transloaders of 300-mm \"Tornado-S\" MLRS in Crimea; the post says Crimea's air defence suffered heavy damage. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/milinfolive/181833",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Chernihiv",
     "items": [
      {
       "ts": "2026-10-20T16:57:19Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Suspilne Chernihiv",
       "summary": "Suspilne Chernihiv / Chernihiv MVA head Bryzhynskyi: a RU UAV attacked transport infrastructure in Chernihiv around 19:30; fire at the impact site, no casualties per city council. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://suspilne.media/chernihiv/1432613-u-cernigovi-rosijskij-bpla-atakuvav-transportnu-infrastrukturu/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kramatorsk area roads (EST)",
     "items": [
      {
       "ts": "2026-10-20T17:01:01Z",
       "side": "Russia",
       "type": "strike",
       "handle": "wargonzo",
       "summary": "WarGonzo: UAS company of the RU 72nd Separate Motor Rifle Brigade hunting UA ground robotic carts on roads near Kramatorsk (fibre-optic drones). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/wargonzo/37770",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Vinnytsia obl. (EST — plotted oblast seat; site not stated)",
     "items": [
      {
       "ts": "2026-10-20T17:02:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrainska Pravda",
       "summary": "Ukrainska Pravda / DSNS: a RU attack hit a critical infrastructure facility in Vinnytsia Oblast on 20 Oct, sparking a fire since extinguished. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.pravda.com.ua/eng/news/2026/10/20/8058966/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Bryansk, Belgorod, Kursk, Voronezh, Crimea, Black Sea (EST — plotted Belgorod)",
     "items": [
      {
       "ts": "2026-10-20T17:21:43Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: between 08:00 and 20:00 MSK on 20 Oct air defence intercepted and destroyed 90 Ukrainian fixed-wing UAVs over Bryansk, Belgorod, Kursk and Voronezh oblasts, Crimea and the Black Sea. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68378",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Shyroka Balka, Stanislav hromada, Kherson obl.",
     "items": [
      {
       "ts": "2026-10-20T17:23:22Z",
       "side": "Russia",
       "type": "strike",
       "handle": "khersonskaODA",
       "summary": "Kherson OVA: about 16:50 a RU drone attacked Shyroka Balka (Stanislav hromada); a 65-year-old man in his yard was seriously injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/khersonskaODA/69978",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Vilniansk / Zaporizhzhia suburbs (EST)",
     "items": [
      {
       "ts": "2026-10-20T17:43:59Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Suspilne Zaporizhzhia",
       "summary": "Suspilne Zaporizhzhia / DSNS: in a Zaporizhzhia suburb a RU drone attacked a fire-rescue vehicle returning from a fire; a fire tanker damaged, no casualties. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://suspilne.media/zaporizhzhia/1432533-rosiani-atakuvali-dronom-specavtivku-ratuvalnikiv-u-zaporizkomu-rajoni/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia NPP area, Enerhodar (EST — location of bus not stated)",
     "items": [
      {
       "ts": "2026-10-20T17:51:13Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "TASS / ZNPP (Russian-run): a ZNPP bus was attacked by a Ukrainian UAV, no injuries; the plant says 10 employees have been killed and about 40 injured by AFU strikes since April. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/401337",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Approaches to Moscow (EST)",
     "items": [
      {
       "ts": "2026-10-20T19:48:11Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "tass_agency",
       "summary": "TASS / Moscow mayor Sobyanin: RU MoD air defence destroyed three UAVs flying toward Moscow on the evening of 20 Oct. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/401346",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kremenchuk, Poltava obl.",
     "items": [
      {
       "ts": "2026-10-20T20:38:36Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Suspilne Poltava",
       "summary": "Suspilne Poltava / Poltava OVA head Diakivnych: a RU UAV hit an educational institution building in Kremenchuk on the evening of 20 Oct, causing a fire; preliminarily one person injured. Air Force reported a jet UAV heading for Kremenchuk from the south. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://suspilne.media/poltava/1432667-u-kremencuci-rosijskij-bpla-vluciv-u-navcalnij-zaklad-travmovana-ludina/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Solomianskyi district, Kyiv (EST)",
     "items": [
      {
       "ts": "2026-10-20T21:28:30Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Interfax-Ukraine",
       "summary": "Interfax-Ukraine / Klitschko: overnight 20–21 Oct a RU UAV hit a transport-infrastructure facility in Kyiv (Solomianskyi district per RBC-Ukraine / Suspilne), causing a fire. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://interfax.com.ua/news/general/1223539.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Black Sea (EST — western Black Sea)",
     "items": [
      {
       "ts": "2026-10-20T23:19:52Z",
       "side": "Other",
       "type": "naval",
       "handle": "Al Jazeera",
       "summary": "Al Jazeera / AFP / Reuters: NATO is deploying additional patrol aircraft and intelligence personnel to the Black Sea after a series of deadly drone attacks on shipping (e.g. two cargo ships hit off Bulgaria on 13 Oct). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.aljazeera.com/news/2026/10/20/nato-to-send-additional-patrol-planes-to-black-sea-after-drone-attacks",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Chystiakove (Torez), occupied Donetsk obl.",
     "items": [
      {
       "ts": "2026-10-20T23:25:50Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Kyiv Independent",
       "summary": "Kyiv Independent: UA forces reportedly struck energy infrastructure in occupied Chystiakove (Donetsk obl.) late on 20 Oct (Exilenova Plus); blackouts reported in Crimea amid drone fire and a telecom site hit in Luhansk. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://kyivindependent.com/ukrainian-forces-reportedly-strike-energy-infrastructure-in-occupied-donetsk-oblast-blackouts-in-crimea/",
       "status": "not_verified"
      }
     ]
    }
   ]
  },
  {
   "date": "2026-10-21",
   "areas": [
    {
     "area": "Rivne (EST)",
     "items": [
      {
       "ts": "2026-10-21T12:45:32Z",
       "side": "Russia",
       "type": "strike",
       "handle": "RBC_ua_news",
       "summary": "RBC-Ukraine / Rivne OVA: RU attack hit a Metro retail store in Rivne; preliminarily no casualties. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/RBC_ua_news/209501",
       "status": "official_statement"
      },
      {
       "ts": "2026-10-21T15:31:20Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: daytime UAV strikes hit the \"Epicentr-K\" logistics centre in Rivne and a cargo ship at sea bound for Chornomorsk port (RU says both served UA forces). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68405",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kyiv (EST)",
     "items": [
      {
       "ts": "2026-10-21T01:56:33Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Interfax-Ukraine",
       "summary": "Interfax-Ukraine / Klitschko: over 20 Oct 21 people were injured and one killed in Kyiv by RU attacks (updated toll; Ukrinform earlier 18 injured). Evening strikes hit Sviatoshynskyi (garage cooperative) and Desnianskyi (warehouse) districts. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://interfax.com.ua/news/general/1223541.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Korotych, Kharkiv raion (EST)",
     "items": [
      {
       "ts": "2026-10-21T02:23:41Z",
       "side": "Russia",
       "type": "strike",
       "handle": "synegubov",
       "summary": "Kharkiv OVA (Syniehubov): overnight massed UAV strike on Korotych — a woman (81) and a man (83) killed, 11 suffered acute stress incl. a 2-month-old and an 8-year-old; 13 private houses damaged; a 13-year-old later reported injured by glass. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/synegubov/26824",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia obl. (EST — plotted Orikhiv)",
     "items": [
      {
       "ts": "2026-10-21T04:00:29Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ivan_fedorov_zp",
       "summary": "Zaporizhzhia OVA (Fedorov) daily: 795 strikes on 59 settlements; 30 air strikes, 603 UAVs (mostly FPV), 6 MLRS and 156 artillery strikes; 1 killed and 6 injured in Zaporizhzhia city/raion. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ivan_fedorov_zp/49089",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Nikopol district, Dnipropetrovsk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-21T04:30:07Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Dnipropetrovsk OVA 07:30: almost 30 RU attacks on three districts (Dnipro, Nikopol, Synelnykove); 1 injured (Nikopol area), houses, cars and an enterprise damaged. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dnipropetrovskaODA/32726",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kherson (EST)",
     "items": [
      {
       "ts": "2026-10-21T04:50:10Z",
       "side": "Russia",
       "type": "strike",
       "handle": "khersonskaODA",
       "summary": "Kherson OVA daily (06:00–06:00): 35 settlements incl. Kherson city shelled; 13 injured incl. 3 children; 9 private houses damaged. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/khersonskaODA/69986",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Poltava (EST)",
     "items": [
      {
       "ts": "2026-10-21T05:18:50Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: overnight UAV strikes on logistics centres, port infrastructure and substations — a warehouse complex in Poltava allegedly storing long/medium-range UAVs, the PS-330 \"Nyvky\" substation in Kyiv, and a dry-cargo ship en route to Odesa allegedly carrying military cargo. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68385",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kharkiv (EST)",
     "items": [
      {
       "ts": "2026-10-21T05:34:32Z",
       "side": "Russia",
       "type": "strike",
       "handle": "synegubov",
       "summary": "Kharkiv OVA daily: Kharkiv city and 13 settlements hit; 2 killed, 24 injured incl. 2 children (7 in Kharkiv; Derhachi 3; Shestakove 1); weapons used incl. 2 missiles, MLRS, 2 Molniya, 9 FPV, 33 UAVs. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/synegubov/26826",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Western Russia, multiple regions (EST — plotted at Bryansk)",
     "items": [
      {
       "ts": "2026-10-21T05:47:36Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: 373 Ukrainian fixed-wing UAVs intercepted overnight (20:00 20 Oct–08:00 21 Oct MSK) over Novgorod, Tver, Bryansk, Belgorod, Kursk, Smolensk, Kaluga, Orel, Tula, Ryazan, Moscow regions, Krasnodar Krai, Crimea and the Black Sea; daily total later given as 954. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68386",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ukraine-wide (EST — plotted Kyiv)",
     "items": [
      {
       "ts": "2026-10-21T05:48:09Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "GeneralStaffZSU",
       "summary": "UA Air Force: overnight 21 Oct Russia launched Iskander-K cruise missiles and 186 strike UAVs (88 jet-powered); 150 UAVs downed/suppressed as of 08:30; hits at 27 locations, debris at 13. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42641",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zhovkva hromada, Lviv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-21T06:06:45Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Suspilne / Lviv OVA (Kozytskyi): RU overnight attack on an enterprise in Zhovkva hromada; two workers injured, a private house damaged. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/77932",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Tuapse district, Krasnodar Krai (EST)",
     "items": [
      {
       "ts": "2026-10-21T06:13:05Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "interfaxonline",
       "summary": "Interfax: debris of drones fell on a sanatorium in Tuapse district; glazing of three buildings damaged, no casualties. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/interfaxonline/80451",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kursk obl. (EST — Oktyabrsky district / Korenevo)",
     "items": [
      {
       "ts": "2026-10-21T06:19:59Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "dva_majors",
       "summary": "Dva Majora relaying Kursk authorities: five injured (four in Oktyabrsky district, one in Korenevo); energy facility damaged in Oktyabrsky district; cars hit in Vyshneve and Zelenyi Hai. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dva_majors/100760",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Klimovo, Bryansk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-21T06:27:54Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "wargonzo",
       "summary": "WarGonzo relaying Bryansk governor: a kamikaze drone hit a civilian car in Klimovo; a 19-year-old passenger killed, two men injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/wargonzo/37780",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kramatorsk (EST)",
     "items": [
      {
       "ts": "2026-10-21T06:39:36Z",
       "side": "Russia",
       "type": "strike",
       "handle": "VadymFilashkin",
       "summary": "Donetsk OVA (Filashkin) morning 21 Oct: in Kramatorsk 4 killed and 6 injured (15 apartment blocks, 2 schools damaged); 2 injured in Sloviansk; 26 strikes on Donetsk-oblast settlements; 199 evacuated incl. 30 children. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/VadymFilashkin/18794",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Bucha district, Kyiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-21T06:56:47Z",
       "side": "Russia",
       "type": "strike",
       "handle": "RBC_ua_news",
       "summary": "RBC-Ukraine / Kyiv OVA: one person killed and one injured in a RU attack in Bucha district; fire at a production building and dormitory. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/RBC_ua_news/209469",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Novoselivka, Donetsk obl. (EST — which Novoselivka not stated)",
     "items": [
      {
       "ts": "2026-10-21T07:36:44Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: VKS pilots struck a temporary deployment point of the UA 56th Separate Motorized Infantry Brigade in Novoselivka (DNR) with FAB-250 bombs. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68389",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Luhansk (occupied) (EST)",
     "items": [
      {
       "ts": "2026-10-21T08:19:04Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "TASS / LPR head Pasechnik: UA massed overnight strike on Luhansk seriously damaged the Luhansk Telephone Company building, people may be under rubble; WarGonzo relays 3 killed. RBC-Ukraine (social media) says the building houses operator Lugacom. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/401427",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Chernihiv (EST)",
     "items": [
      {
       "ts": "2026-10-21T08:47:03Z",
       "side": "Russia",
       "type": "strike",
       "handle": "RBC_ua_news",
       "summary": "RBC-Ukraine / Chernihiv MVA: RU double strike with \"Banderol\" drones on an enterprise in Chernihiv; one person killed by the second hit, one with barotrauma. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/RBC_ua_news/209482",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sviatoshynskyi district, Kyiv (EST)",
     "items": [
      {
       "ts": "2026-10-21T08:58:17Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Kyiv Independent",
       "summary": "Kyiv Independent / KMVA: early 21 Oct RU drone attack hit a 24-storey residential building (fire on 20th floor) in Kyiv; at least 2 killed, 2 injured. Nationwide RU attacks killed at least 9 and wounded 45 over the past day. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://kyivindependent.com/russian-attacks-kill-at-least-9-wound-45-across-ukraine-as-yet-another-deadly-drone-attack-strikes-kyiv/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sloviansk (EST)",
     "items": [
      {
       "ts": "2026-10-21T09:39:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform / SES: rescue operation in Sloviansk after the 17 Oct FAB strike on two five-storey buildings ended after five days; 7 bodies recovered (incl. a rescuer), 12 injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4176644-seven-killed-in-sloviansk-as-rescue-workers-spend-five-days-clearing-rubble.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Dnipro (EST)",
     "items": [
      {
       "ts": "2026-10-21T10:34:58Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Dnipropetrovsk OVA: RU attacked a critical infrastructure facility in Dnipro; later over 30,000 residents in Pavlohrad, Synelnykove districts and Samar left without power. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dnipropetrovskaODA/32729",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Dnipro right bank, Kherson obl. (EST)",
     "items": [
      {
       "ts": "2026-10-21T10:56:58Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: Giatsint-B guns of the 18th Combined Arms Army (Dnepr group) hit a UAV control point and personnel on the right (west) bank of the Dnipro in Kherson oblast. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68395",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Luhansk (EST)",
     "items": [
      {
       "ts": "2026-10-21T11:10:19Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: on 20 Oct and overnight into 21 Oct Defence Forces struck command posts of RU units near Luhansk and Kurakhove (Donetsk obl.). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42647",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Yany Kapu (Krasnoperekopsk), Crimea (EST)",
     "items": [
      {
       "ts": "2026-10-21T11:10:19Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: RU materiel depots hit near Yany Kapu in occupied Crimea and near Chystiakove in Donetsk oblast. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42647",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Near Komyshuvakha, Zaporizhzhia raion (EST)",
     "items": [
      {
       "ts": "2026-10-21T11:19:44Z",
       "side": "Russia",
       "type": "strike",
       "handle": "zoda_gov_ua",
       "summary": "Zaporizhzhia OVA: this morning near Komyshuvakha a RU FPV drone hit a civilian car on the road, killing a man (73) and a woman (71). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/zoda_gov_ua/68527",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kharkiv obl. gas production site (EST — location not stated)",
     "items": [
      {
       "ts": "2026-10-21T11:26:17Z",
       "side": "Russia",
       "type": "strike",
       "handle": "RBC_ua_news",
       "summary": "RBC-Ukraine / Naftogaz (acting CEO Fedorenko): a RU drone hit an installation at a gas-production site in Kharkiv oblast this morning; damage not yet assessed. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/RBC_ua_news/209495",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Korabelnyi district, Kherson (EST)",
     "items": [
      {
       "ts": "2026-10-21T11:30:33Z",
       "side": "Russia",
       "type": "strike",
       "handle": "khersonskaODA",
       "summary": "Kherson OVA: around 11:30 a RU drone attacked a woman (71) in Korabelnyi district of Kherson; blast injury, hospitalised. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/khersonskaODA/70025",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Uman, Cherkasy obl. (EST)",
     "items": [
      {
       "ts": "2026-10-21T12:18:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform / SES: injury toll from RU drone attacks on Uman rose to five (2 hospitalised); an Epicentr hypermarket, hotel, university dormitory and houses damaged. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4176710-injury-toll-in-russian-attack-on-uman-rises-to-five.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Belgorod obl. (EST — settlement not stated)",
     "items": [
      {
       "ts": "2026-10-21T12:46:01Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "NOELreports",
       "summary": "NOELreports (X aggregator): UA forces struck and destroyed a school building in Belgorod region allegedly used by RU UAV operators. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://x.com/NOELreports/status/2112888133692030995",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Korostyshiv hromada, Zhytomyr obl. (EST)",
     "items": [
      {
       "ts": "2026-10-21T15:58:58Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ukrinform_news",
       "summary": "Ukrinform: RU forces attacked a critical infrastructure facility in Korostyshiv hromada, Zhytomyr oblast; no casualties (acting mayor Yurii Denysovets). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ukrinform_news/171903",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Belgorod / Bryansk / Kursk / Leningrad / Pskov / Tver obl. + Black Sea (EST)",
     "items": [
      {
       "ts": "2026-10-21T17:40:09Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: 51 Ukrainian fixed-wing UAVs intercepted 08:00–20:00 MSK over six Russian regions and the Black Sea. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68409",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Chortkiv, Ternopil obl. (EST)",
     "items": [
      {
       "ts": "2026-10-21T17:44:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform / Ternopil OVA head Taras Pastukh: injury toll from the RU UAV strike on Chortkiv rose to four (a woman and three minors). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4176831-injury-toll-from-russian-drone-attack-toll-in-chortkiv-rises-to-four.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Dnipropetrovsk direction (EST — place not stated)",
     "items": [
      {
       "ts": "2026-10-21T17:44:19Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: 2S5 Giatsint-S crews of the 30th Guards MRB (Center GoF) claim destroying UA UAV control points on the \"Dnipropetrovsk direction\". Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68410",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sloviansk centre, Donetsk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-21T18:00:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform / Sloviansk MA head Vadym Liakh: RU strike on the centre of Sloviansk around 17:00 local injured five, including two boys aged 7 and 13. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4176822-russian-strike-on-sloviansk-injures-five-including-two-children.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kropyvnytskyi district, Kirovohrad obl. (EST — district)",
     "items": [
      {
       "ts": "2026-10-21T18:21:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform / Kirovohrad OVA head Andrii Raikovych: another RU attack on warehouses in Kropyvnytskyi district; casualties unknown. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4176848-russian-forces-attack-warehouses-in-kropyvnytskyi-district.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ocheretyne, Oleksandrivka–Kramatorsk road, Donetsk obl. (EST — approx)",
     "items": [
      {
       "ts": "2026-10-21T19:25:56Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform / Proliska head Yevhen Kaplin: an RU FPV drone with a shaped-charge munition hit a Proliska armoured evacuation vehicle on the Oleksandrivka–Kramatorsk highway at Ocheretyne; crew jumped out seconds before impact. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4176863-russian-drone-attacks-evacuation-vehicle-in-donetsk-region.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Dniprovskyi district, Kyiv (EST)",
     "items": [
      {
       "ts": "2026-10-21T19:50:51Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ukrinform_news",
       "summary": "Ukrinform / Kyiv MA: evening RU strike damaged private houses in Kyiv's Dniprovskyi district and a petrol station at another location; preliminary reports of injured; ballistic threat. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ukrinform_news/171919",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Enerhodar / Zaporizhzhia NPP, Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-21T20:34:55Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "Russian-installed ZNPP administration (via TASS): a UA drone attacked a ZNPP staff bus; no casualties. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/401608",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kropyvnytskyi (EST)",
     "items": [
      {
       "ts": "2026-10-21T21:31:08Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Suspilne correspondents: explosions heard in Kropyvnytskyi on the evening of 21 Oct. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/77973",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kyiv (Dniprovskyi, Darnytskyi, Pecherskyi, Sviatoshynskyi districts) (EST)",
     "items": [
      {
       "ts": "2026-10-21T22:22:41Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Kyiv Independent",
       "summary": "Kyiv Independent: RU ballistic missiles struck multiple locations in Kyiv on the night of 21–22 Oct, injuring six; a car service station and homes hit in Dniprovskyi, missiles hit near a transport facility in Darnytskyi; later a medical facility (Pecherskyi) and a restaurant fire (Sviatoshynskyi). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://kyivindependent.com/russian-ballistic-missiles-rock-kyiv-in-late-night-attack-injuring-6/",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kharkiv, Slobidskyi district (EST)",
     "items": [
      {
       "ts": "2026-10-21T23:41:18Z",
       "side": "Russia",
       "type": "strike",
       "handle": "RBC_ua_news",
       "summary": "RBC-Ukraine / Kharkiv mayor Terekhov: a RU jet-powered drone hit the private sector of Kharkiv (Slobidskyi district); outbuilding on fire, several homes damaged, no casualties. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/RBC_ua_news/209534",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Lipetsk, Russia (EST)",
     "items": [
      {
       "ts": "2026-10-21T23:46:05Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Kyiv Independent",
       "summary": "Kyiv Independent: overnight UA drone attack on Lipetsk; governor Artamonov says windows/facades of several residential buildings and a closed clinic were damaged; one man injured (governor via TASS/RIA). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://kyivindependent.com/explosion-fires-reported-amid-overnight-ukrainian-drone-attack-on-lipetsk-russia/",
       "status": "not_verified"
      }
     ]
    }
   ]
  },
  {
   "date": "2026-10-22",
   "areas": [
    {
     "area": "Voronovo, TiNAO (New Moscow) (EST)",
     "items": [
      {
       "ts": "2026-10-22T01:28:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "interfaxonline",
       "summary": "Interfax / Sobyanin: two people injured in the Voronovo area of TiNAO (New Moscow) during the overnight UAV attack. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/interfaxonline/80519",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Moscow region (EST)",
     "items": [
      {
       "ts": "2026-10-22T01:30:14Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "Moscow mayor Sobyanin (via TASS): 630 UAVs flew toward the Moscow region from 20:30 MSK 21 Oct to 04:00 MSK 22 Oct; most destroyed at distant lines, 163 neutralised on approach to Moscow (Interfax). Two people hurt near Voronovo (TiNAO). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/401648",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kyiv (six districts) (EST)",
     "items": [
      {
       "ts": "2026-10-22T05:00:25Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "ukrinform_news",
       "summary": "Ukrinform: Russian overnight attack on Kyiv killed one person and injured 22; damage in Dniprovskyi, Darnytskyi, Sviatoshynskyi, Obolonskyi, Pecherskyi and Holosiivskyi districts; metro Green Line on the Southern Bridge damaged (separate post). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ukrinform_news/171930",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Western Russia incl. Moscow region (EST — plotted Moscow)",
     "items": [
      {
       "ts": "2026-10-22T06:03:41Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD claims 808 Ukrainian fixed-wing drones destroyed overnight 21–22 Oct over 17 oblasts, Moscow region, Crimea and the Black Sea. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68419",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ukraine-wide (EST — plotted Kyiv)",
     "items": [
      {
       "ts": "2026-10-22T06:16:12Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "GeneralStaffZSU",
       "summary": "UA Air Force (via General Staff channel): overnight combined strike with Iskander-M/S-400/Zircon/Onyx missiles and 210 Shahed-type drones (incl. 110 jet), main direction Kyiv; 181 drones downed/suppressed as of 09:00, hits at 32 locations. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42655",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kyiv (EST)",
     "items": [
      {
       "ts": "2026-10-22T06:43:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD claims overnight massed precision/drone strike on Ukrainian defence-industry sites incl. the Antonov assembly plant and a 'Khladokombinat No.3' warehouse complex in Kyiv, plus Odesa-region port infrastructure. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68427",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Dnipro (EST)",
     "items": [
      {
       "ts": "2026-10-22T09:43:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform citing Dnipropetrovsk OVA head Oleksandr Hanzha: Russian attack on Dnipro hit a residential area, several fires; monitoring channels had warned of Banderol missiles. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177045-russian-forces-strike-residential-area-in-dnipro.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Hlukhiv, Sumy obl. (EST)",
     "items": [
      {
       "ts": "2026-10-22T10:29:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform: a Russian drone struck the municipal hospital in Hlukhiv on the evening of 21 Oct, damaging the facade and windows; ~60 attacks on 26 Sumy-oblast settlements in 24 h. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177070-russian-drone-hits-hospital-in-hlukhiv.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Vyshneve / Lankove (Zaporizhzhia obl.), Hulevka (Bryansk), Zolotarivka (Luhansk) (EST)",
     "items": [
      {
       "ts": "2026-10-22T12:21:17Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: on 21 Oct and overnight Defence Forces hit an EW station near Hulevka (Bryansk obl.), a command-observation post near Vyshneve and a UAV control point near Lankove (Zaporizhzhia obl.), and a supply depot near Zolotarivka (Luhansk obl.). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42657",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Khomutovka, Kursk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-22T15:27:17Z",
       "side": "Russia",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "TASS (citing the governor): number injured in a Ukrainian attack on Khomutovka, Kursk oblast, rose to four, including two infant girls. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/401781",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Khotiv (Kyiv obl.) / Zhytomyr (EST)",
     "items": [
      {
       "ts": "2026-10-22T15:31:36Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD claims daytime drone strikes hit the 330 kV 'Novokyivska' substation in Khotiv (Kyiv obl.) and the 330 kV 'Zhytomyrska' substation in Zhytomyr, plus two cargo ships bound for Odesa/Chornomorsk. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68442",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kharkiv (EST)",
     "items": [
      {
       "ts": "2026-10-22T15:40:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform citing SES Kharkiv: a Russian UAV struck a passenger electric train in Kharkiv during the day on 22 Oct; fire in the lead car extinguished, no injuries. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177205-russian-strike-sets-commuter-train-on-fire-in-kharkiv.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zhytomyr community, Zhytomyr obl. (EST)",
     "items": [
      {
       "ts": "2026-10-22T16:00:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform citing Zhytomyr OVA head Vitalii Bunechko: a Shahed drone hit a private house in the Zhytomyr community, injuring nine incl. two children. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177211-russian-drone-hits-house-in-zhytomyr-region-injuring-nine-including-children.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Lozova central market, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-22T18:59:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform citing Lozova community head Serhii Zelensky: Russian strike on Lozova central market (Shahed-type drones and a Banderol-type drone missile) killed two and injured 36; church and ~200 apartments damaged. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177265-russian-strike-on-lozova-market-two-killed-injury-toll-rises-to-36.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Dnipro — Prydniprovska TPP (EST)",
     "items": [
      {
       "ts": "2026-10-22T19:55:20Z",
       "side": "Russia",
       "type": "strike",
       "handle": "voenkorKotenok",
       "summary": "RU milblogger Kotenok: new explosions in Dnipro, preliminarily hits on transformers of the Prydniprovska thermal power plant. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/voenkorKotenok/76805",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Zaporizhzhia cable-stayed bridge (EST)",
     "items": [
      {
       "ts": "2026-10-22T19:57:14Z",
       "side": "Russia",
       "type": "strike",
       "handle": "voenkorKotenok",
       "summary": "RU milblogger Kotenok claims a jet 'Geran' drone hit the cable-stayed bridge in Zaporizhzhia, which was then closed; Dva Majora relays a photo and 'reports of a drone strike'. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/voenkorKotenok/76808",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Zaporizhzhia city (EST)",
     "items": [
      {
       "ts": "2026-10-22T19:58:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform citing acting Zaporizhzhia OVA head Mykhailo Semikin: death toll from a Russian strike on a private house in Zaporizhzhia rose to three. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177275-death-toll-from-russian-strike-on-zaporizhzhia-rises-to-three.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Poltava (EST)",
     "items": [
      {
       "ts": "2026-10-22T20:13:48Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Suspilne / RBC-Ukraine citing Poltava OVA head Diakivnych: Russian drones attacked a railway infrastructure facility in Poltava; preliminarily no injuries. A later explosion reported (Suspilne 21:48Z). RU milblogger Kotenok also claims the hit. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/78039",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Borisovka / Belyanka / Graivoron, Belgorod obl. (EST)",
     "items": [
      {
       "ts": "2026-10-22T20:46:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Interfax",
       "summary": "Interfax citing the Belgorod operational HQ: three injured by Ukrainian drone attacks — a man on the Strigunu–Novoaleksandrovka road (Borisovka okrug), a man in Belyanka (Shebekino okrug), a woman in Graivoron. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.interfax.ru/russia/1124378",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Huliaipole sector (ISW: near occupied Dmytrivske), Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-22T22:25:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform citing the 7th Rapid Response Corps: operators of the 433rd Unmanned Systems Regiment hit a Russian Buk-M1 SAM system and another unidentified air-defence system in the Huliaipole sector. ISW places the strike near Dmytrivske (~32 km from the front). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177075-ukrainian-forces-hit-two-russian-air-defense-systems-targeting-ukrainian-aircraft-in-huliaipole-sector.html",
       "status": "official_statement"
      }
     ]
    }
   ]
  },
  {
   "date": "2026-10-23",
   "areas": [
    {
     "area": "Sumy (EST)",
     "items": [
      {
       "ts": "2026-10-23T00:24:44Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Suspilne citing Sumy OVA head Hryhorov: at least two injured in an overnight massed Russian drone attack on Sumy; civilian infrastructure hit in three parts of the city. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/78046",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Occupied Luhansk (EST)",
     "items": [
      {
       "ts": "2026-10-23T01:23:47Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "RBC_ua_news",
       "summary": "RBC-Ukraine / Exilenova+: occupied Luhansk under a massed drone attack; communications and power outages after explosions, likely hits on communications facilities near a tower. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/RBC_ua_news/209661",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Oleshky, Kherson obl. (EST)",
     "items": [
      {
       "ts": "2026-10-23T01:33:01Z",
       "side": "Russia",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "TASS: a platoon commander of the 331st Regiment (98th VDV Div, Dnepr GoF), call sign 'Leska', says Ukrainian forces destroyed the House of Culture in Oleshky with aerial bombs. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/401844",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "75th GRAU Arsenal, northern Serpukhov, Moscow obl. (EST)",
     "items": [
      {
       "ts": "2026-10-23T01:51:59Z",
       "side": "Other",
       "type": "strike",
       "handle": "ISW / CTP",
       "summary": "ISW (Oct 22): Ukrainian CCD head Kovalenko reported a Ukrainian strike on the Russian 75th GRAU Arsenal (air-defence storage/repair: Buk-M1/M2, S-300V) in northern Serpukhov; geolocated footage shows a large explosion. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-22-2026",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Nikopol & Synelnykove districts, Dnipro, Pavlohrad (EST)",
     "items": [
      {
       "ts": "2026-10-23T04:56:34Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Suspilne",
       "summary": "Suspilne citing OVA head Hanzha: two injured in overnight RU strikes on Nikopol and Synelnykove districts; infrastructure, an admin building and a house damaged in Dnipro and Pavlohrad. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/78056",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Poltava railcar depot; Vylkove port, Odesa obl. (EST)",
     "items": [
      {
       "ts": "2026-10-23T05:06:07Z",
       "side": "Russia",
       "type": "strike",
       "handle": "RF MoD",
       "summary": "RF MoD: overnight drone strikes on the \"Poltava\" railcar depot and on Vylkove port (claimed USV operator sites, boat moorings) plus a dry-cargo ship en route to Odesa. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68464",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Vyshhorod / Kyiv (EST)",
     "items": [
      {
       "ts": "2026-10-23T08:21:25Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mon1tor_ua",
       "summary": "mon1tor_ua (UA air-raid monitor): Geran-5 missiles toward Kyiv; one reported falling on a substation near Vyshhorod; power interruptions in Kyiv and Vyshhorod. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mon1tor_ua/77478",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Voronezh — former VVAIU / Baltimor airfield area (EST)",
     "items": [
      {
       "ts": "2026-10-23T09:13:43Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Exilenova+",
       "summary": "Exilenova+ (UA OSINT): explosions in Voronezh; preliminary info that the former Voronezh Military Aviation Engineering University and an adjacent military aircraft parking area were hit. Governor Gusev said air defence downed targets, debris caused a grass fire. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/exilenova_plus/33237",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Donetsk area; Hirnyk; Sverdlove; Berdianske; Balky; Orikhivka; Kamianka; Hromove (Crimea) (EST)",
     "items": [
      {
       "ts": "2026-10-23T09:30:25Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "UA General Staff",
       "summary": "UA General Staff: on 22–23 Oct UA forces hit a strike-drone storage/launch site near Donetsk, a command post near Hromove (Crimea), an ammo depot near Hirnyk, a UAV depot near Sverdlove, materiel depots near Berdianske, Balky and Orikhivka, and a Rubikon troop concentration near Kamianka (Zaporizhzhia). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42663",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kharkiv (Osnovianskyi / Slobidskyi) and Zlatopil, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-23T09:33:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform: strikes on Kharkiv (Slobidskyi and Osnovianskyi districts), two missiles on Zlatopil, a \"Banderol\" missile on Nova Vodolaha, warehouse fire in Bezliudivka; Syniehubov later reported further hits on Osnovianskyi district (2 women with acute stress). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177430-russian-strikes-hit-kharkiv-zlatopil-and-nova-vodolaha-sparking-fires-and-causing-damage.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ukraine-wide (pinned Lozova, EST)",
     "items": [
      {
       "ts": "2026-10-23T10:00:49Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Kyiv Independent",
       "summary": "KI: Russian attacks killed 8 and wounded 67 over the past day; 176 drones launched (140 downed); a DTEK thermal power plant halted; Lozova market attack accounts for most of 46 injured in Kharkiv obl. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://kyivindependent.com/energy-facilities-across-ukraine-targeted-as-russian-attacks-kill-at-least-8-injure-67-over-past-day/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Moscow region airports (EST)",
     "items": [
      {
       "ts": "2026-10-23T11:59:22Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Colonelcassad (RU milblogger)",
       "summary": "Sobyanin (relayed by Colonelcassad / RIA): 17 drones flying at Moscow downed during the day; restrictions at Sheremetyevo, Domodedovo, Vnukovo and Zhukovsky; Sheremetyevo evacuated after a reported drone hit (RU milbloggers suggest balloon-assisted drones). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/boris_rozhin/230692",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kupiansk / Lyman sector (EST)",
     "items": [
      {
       "ts": "2026-10-23T12:07:37Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Russian milbloggers (GrV Zapad)",
       "summary": "GrV Zapad channel: RU drone operators hit a ground robotic system of the Ukrainian 66th Mechanized Brigade. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/grvZapad/20174",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Shyroke / Bashmachka area (EST)",
     "items": [
      {
       "ts": "2026-10-23T12:17:55Z",
       "side": "Russia",
       "type": "strike",
       "handle": "RF MoD",
       "summary": "RF MoD: Rubikon drone operators claim hits on Norwegian-made NASAMS launchers near Shyroke and Bashmachka and a P-18 radar near Kotliarivka. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68473",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Gorodets, Nizhny Novgorod obl. (EST)",
     "items": [
      {
       "ts": "2026-10-23T12:21:40Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Exilenova+",
       "summary": "Exilenova+: footage of a strike on the Federal Tax Service (FNS) data centre in Gorodets overnight. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/exilenova_plus/33246",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kharkiv area (EST)",
     "items": [
      {
       "ts": "2026-10-23T12:44:53Z",
       "side": "Russia",
       "type": "strike",
       "handle": "RF MoD",
       "summary": "RF MoD: Geran drones struck two locomotives in the Kharkiv area. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68474",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia NPP / Enerhodar (EST)",
     "items": [
      {
       "ts": "2026-10-23T13:20:57Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Interfax",
       "summary": "Rosatom head Likhachev (via Interfax): Ukrainian forces again attacked ZNPP infrastructure, damaging a print shop and transport facility; no deaths. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/interfaxonline/80599",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kherson direction (EST)",
     "items": [
      {
       "ts": "2026-10-23T13:42:02Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Russian milbloggers (Dva Majora)",
       "summary": "Dva Majora: 18th CAA (Dnepr GoF) footage of night strikes on Ukrainian vehicles in the Kherson direction. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dva_majors/100895",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Black Sea off Romania (EST)",
     "items": [
      {
       "ts": "2026-10-23T13:48:45Z",
       "side": "Russia",
       "type": "civilian_vessel",
       "handle": "Kyiv Independent",
       "summary": "Comoros-flagged cargo ship Khoryv (Ukrainian/Azerbaijani crew) sank off Romania after a reported Russian drone strike; 1 dead, 3 missing, 9 rescued per Romanian authorities. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://kyivindependent.com/civilian-cargo-ship-sinks-off-coast-of-romania-after-russian-drone-strike-authorities-say/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Chernihiv (EST)",
     "items": [
      {
       "ts": "2026-10-23T13:55:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Chernihiv City MVA head Bryzhynskyi: Russian strike on enterprises in Chernihiv — 1 killed, 25 injured, people possibly trapped; a Nova Poshta terminal in the north of the city also hit. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177517-russian-forces-attack-enterprise-in-chernihiv-leaving-one-killed-25-injured.html",
       "status": "official_statement"
      }
     ]
    }
   ]
  }
 ],
 "diplomacy": [
  {
   "ts": "2026-10-20T19:09:08Z",
   "side": "Other",
   "type": "other",
   "handle": "Suspilne Zaporizhzhia",
   "summary": "Suspilne Zaporizhzhia / HUR: occupied ZNPP faces shortages of diesel fuel, water and specialists; RU authorities rejected a UA proposal to power the 750 kV Dniprovska line via the Ferosplavna-1 330 kV substation; Enerhodar has persistent comms, water and power problems. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://suspilne.media/zaporizhzhia/1432425-deficit-vodi-palnogo-ta-personalu-na-timcasovo-okupovanij-zaporizkij-aes-kriticna-situacia-gur/",
   "status": "official_statement"
  },
  {
   "ts": "2026-10-23T13:38:06Z",
   "side": "Other",
   "type": "other",
   "handle": "Kyiv Independent",
   "summary": "White House: localized Russia–Ukraine ceasefire in and around occupied Oleshky from 29 Oct for civilian evacuation and aid, mediated by Melania Trump; Peskov says work on the humanitarian crisis is under way; neither side had formally commented at KI publication time. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://kyivindependent.com/breaking-russia-ukraine-agree-to-oleshky-ceasefire-mediated-by-melania-trump-white-house-says/",
   "status": "official_statement"
  }
 ],
 "outlook": [
  {
   "kind": "contradiction",
   "text": "UA GS spokesman Kovaliov (to Ukrainska Pravda) rejects Gerasimov's claims: Dobropillia, Oleksiievo-Druzhkivka, Orikhiv, Novopavlivka, Novoandriivka, Velykomykhailivka (line 8 km east) and Sviatohirsk UA-held; UA still has positions in Kostiantynivka with fighting ongoing; small RU group infiltrated southern Mykolaivka; Kramatorsk not reached; line ~22 km from Zaporizhzhia. Unverified / EST — INFO/SA only.",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/17/8058493/",
   "handle": "Ukrainska Pravda",
   "ts": "2026-10-17T10:33:00Z"
  },
  {
   "kind": "contradiction",
   "text": "Azov Corps: RF MoD claims to have captured Zolotyi Kolodiaz, Novotroitske and Petrivka (NE of Dobropillia) are untrue; all three remain under control of the Bureviy Brigade and other units; RU small infantry groups infiltrate to film flag-raising videos and are being neutralised. Unverified / EST — INFO/SA only.",
   "url": "https://www.ukrinform.net/rubric-ato/4175428-azov-regiment-denies-russian-claims-of-capturing-three-settlements-near-dobropillia.html",
   "handle": "Ukrinform",
   "ts": "2026-10-17T11:58:00Z"
  },
  {
   "kind": "contradiction",
   "text": "ISW (Oct 22) calls the RF MoD Myrivka capture claim 'aggrandized': Myrivka is ~16 km from ISW's furthest assessed Russian advances. Milbloggers credit the 37th MRB (36th CAA) and 104th VDV Regt (76th VDV Div). Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-22-2026",
   "handle": "ISW / CTP",
   "ts": "2026-10-23T01:51:59Z"
  },
  {
   "kind": "contradiction",
   "text": "ISW (Oct 22): several Russian milbloggers expressed skepticism about the RF MoD's Oct 21 claimed seizure of Yulivka (10+ km from the line of contact); ISW assesses Yulivka is ~17.5 km from the frontline. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-22-2026",
   "handle": "ISW / CTP",
   "ts": "2026-10-23T01:51:59Z"
  },
  {
   "kind": "open",
   "text": "RF MoD claims Vostok Grouping units 'liberated' (captured) Myrivka in Zaporizhzhia oblast. No Ukrainian confirmation; ISW/DeepState have not confirmed as of this run. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://t.me/mod_russia/68431",
   "handle": "mod_russia",
   "ts": "2026-10-22T09:30:22Z"
  },
  {
   "kind": "open",
   "text": "Ukrinform / Azov Corps: Azov dismisses RU claims of capturing Dobropillia as disinformation (\"War on Credit\"); Budanov earlier also denied the capture. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://www.ukrinform.net/rubric-ato/4176639-azov-dismisses-russian-claim-of-capturing-dobropillia.html",
   "handle": "Ukrinform",
   "ts": "2026-10-21T09:28:00Z"
  },
  {
   "kind": "territory",
   "text": "Whether any of this week’s territorial claims (Section 4) appear in independent assessed-control reporting; this site’s EST territory layer showed no assessed change this week.",
   "url": null,
   "handle": null,
   "ts": null
  }
 ],
 "sources": [
  {
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-18-2026",
   "handle": "ISW / CTP",
   "n": 10
  },
  {
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-20-2026",
   "handle": "ISW / CTP",
   "n": 10
  },
  {
   "url": "https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-october-19-2026/",
   "handle": "ISW / CTP",
   "n": 8
  },
  {
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-22-2026",
   "handle": "ISW / CTP",
   "n": 8
  },
  {
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-16-2026",
   "handle": "ISW / Critical Threats",
   "n": 3
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42647",
   "handle": "GeneralStaffZSU",
   "n": 2
  },
  {
   "url": "https://t.me/mod_russia/68342",
   "handle": "mod_russia",
   "n": 2
  },
  {
   "url": "https://t.me/mod_russia/68375",
   "handle": "mod_russia",
   "n": 2
  },
  {
   "url": "https://t.me/suspilnenews/77747",
   "handle": "suspilnenews",
   "n": 2
  },
  {
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-17-2026",
   "handle": "ISW / Critical Threats",
   "n": 2
  },
  {
   "url": "https://interfax.com.ua/news/general/1222090.html",
   "handle": "Interfax-Ukraine",
   "n": 1
  },
  {
   "url": "https://interfax.com.ua/news/general/1222775.html",
   "handle": "Interfax-Ukraine",
   "n": 1
  },
  {
   "url": "https://interfax.com.ua/news/general/1222802.html",
   "handle": "Interfax-Ukraine",
   "n": 1
  },
  {
   "url": "https://interfax.com.ua/news/general/1222811.html",
   "handle": "Interfax-Ukraine",
   "n": 1
  },
  {
   "url": "https://interfax.com.ua/news/general/1222822.html",
   "handle": "Interfax-Ukraine",
   "n": 1
  },
  {
   "url": "https://interfax.com.ua/news/general/1222846.html",
   "handle": "Interfax-Ukraine",
   "n": 1
  },
  {
   "url": "https://interfax.com.ua/news/general/1223348.html",
   "handle": "Interfax-Ukraine",
   "n": 1
  },
  {
   "url": "https://interfax.com.ua/news/general/1223539.html",
   "handle": "Interfax-Ukraine",
   "n": 1
  },
  {
   "url": "https://interfax.com.ua/news/general/1223541.html",
   "handle": "Interfax-Ukraine",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/3-killed-53-injured-in-russian-attacks-across-ukraine-over-past-day-as-550-000-households-lose-power/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/at-least-14-killed-71-injured-in-russian-attacks-across-ukraine-over-past-day-as-russian-drone-kills-2-children-in-park/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/breaking-russia-ukraine-agree-to-oleshky-ceasefire-mediated-by-melania-trump-white-house-says/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/civilian-cargo-ship-sinks-off-coast-of-romania-after-russian-drone-strike-authorities-say/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/energy-facilities-across-ukraine-targeted-as-russian-attacks-kill-at-least-8-injure-67-over-past-day/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/explosion-fires-reported-amid-overnight-ukrainian-drone-attack-on-lipetsk-russia/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/flames-explosions-reported-amid-large-ukrainian-drone-attack-on-st-petersburg/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/russian-attacks-kill-at-least-9-wound-45-across-ukraine-as-yet-another-deadly-drone-attack-strikes-kyiv/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/russian-ballistic-missiles-rock-kyiv-in-late-night-attack-injuring-6/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/russian-drones-hit-western-ukraine-as-nationwide-attacks-kill-10-injure-73/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/ukraine-appoints-new-commander-of-third-army-corps-as-biletskyi-takes-charge-of-center-forces/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/ukrainian-forces-reportedly-strike-energy-infrastructure-in-occupied-donetsk-oblast-blackouts-in-crimea/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://meduza.io/en/feature/2026/10/19/in-pictures-biggest-ukrainian-drone-attack-yet-on-st-petersburg-and-leningrad-region-kills-1-injures-15-and-sparks-many-fires",
   "handle": "Meduza",
   "n": 1
  },
  {
   "url": "https://ria.ru/20261018/belgorod-2125254802.html",
   "handle": "RIA Novosti",
   "n": 1
  },
  {
   "url": "https://ria.ru/20261018/vsu-2125248503.html",
   "handle": "RIA Novosti",
   "n": 1
  },
  {
   "url": "https://suspilne.media/chernihiv/1432315-cernigivski-prikordonniki-znisili-rosijski-ukritta-retranslatori-droni-ta-zasobi-reb/",
   "handle": "Suspilne Chernihiv",
   "n": 1
  },
  {
   "url": "https://suspilne.media/chernihiv/1432437-rosijskij-bpla-tipu-molnia-vluciv-u-centri-novgoroda-siverskogo/",
   "handle": "Suspilne Chernihiv",
   "n": 1
  },
  {
   "url": "https://suspilne.media/chernihiv/1432613-u-cernigovi-rosijskij-bpla-atakuvav-transportnu-infrastrukturu/",
   "handle": "Suspilne Chernihiv",
   "n": 1
  },
  {
   "url": "https://suspilne.media/donbas/1416357-zvilnenna-teritorij-bila-limana-boi-za-kostantinivku-front-doneccini-i-l",
   "handle": "Suspilne Donbas",
   "n": 1
  },
  {
   "url": "https://suspilne.media/donbas/1431767-bileckij-pidsumuvav-vivaldi-so-rozkazav-pro-slovansk-kramatorsk-taemnicu-ta-uspih-na-lugansini/",
   "handle": "Suspilne Donbas",
   "n": 1
  },
  {
   "url": "https://suspilne.media/donbas/1431953-rosiani-namagalisa-vstanoviti-prapor-u-sergiivci-na-pokrovskomu-napramku-ale-buli-zniseni-selo-pid-kontrolem-zsu/",
   "handle": "Suspilne Donbas",
   "n": 1
  },
  {
   "url": "https://suspilne.media/donbas/1432095-u-kramatorsku-vnaslidok-rosijskogo-aviaudaru-zaginuli-troe-pracivnikiv-teplopostacalnogo-pidpriemstva/",
   "handle": "Suspilne Donbas",
   "n": 1
  },
  {
   "url": "https://suspilne.media/donbas/1432323-tut-sucilnij-sturm-vijskovij-pro-situaciu-na-slovanskomu-napramku/",
   "handle": "Suspilne Donbas",
   "n": 1
  },
  {
   "url": "https://suspilne.media/kharkiv/1431201-primusove-vivezenna-25-civilnih-moglo-vidbuvatisa-z-kupanska-i-kupanska-vuzlovogo-sekretariat-ombudsmena/",
   "handle": "Suspilne Kharkiv",
   "n": 1
  },
  {
   "url": "https://suspilne.media/kharkiv/1432599-rf-skinula-blizko-10-kabiv-na-piski-radkivski-na-harkivsini-poranena-pensionerka/",
   "handle": "Suspilne Kharkiv",
   "n": 1
  },
  {
   "url": "https://suspilne.media/lutsk/1431723-vnaslidok-ataki-rf-u-koveli-stalasa-pozeza-na-teritorii-budivelnogo-gipermarketu/",
   "handle": "Suspilne Lutsk",
   "n": 1
  },
  {
   "url": "https://suspilne.media/lviv/1431731-na-lvivsini-pid-cas-povitranoi-trivogi-19-zovtna-pracuvala-ppo/",
   "handle": "Suspilne Lviv",
   "n": 1
  },
  {
   "url": "https://suspilne.media/poltava/1432667-u-kremencuci-rosijskij-bpla-vluciv-u-navcalnij-zaklad-travmovana-ludina/",
   "handle": "Suspilne Poltava",
   "n": 1
  },
  {
   "url": "https://suspilne.media/sumy/1431049-za-persu-polovinu-zovtna-sumsina-zaznala-majze-180-udariv-kabami-8-korpus-dsv/",
   "handle": "Suspilne Sumy",
   "n": 1
  },
  {
   "url": "https://suspilne.media/sumy/1431755-rosijska-armia-atakuvala-romni-poskodzeno-civilnij-obekt/",
   "handle": "Suspilne Sumy",
   "n": 1
  },
  {
   "url": "https://suspilne.media/sumy/1432179-29-polonenih-armijciv-rf-108-likvidovanih-cilej-so-vidomo-pro-specoperaciu-bijciv-group-10-na-sumsini/",
   "handle": "Suspilne Sumy",
   "n": 1
  },
  {
   "url": "https://suspilne.media/zaporizhzhia/1431967-rosijskij-dron-pociliv-v-evakuacijnij-bus-pid-cas-posadki-ludej-u-balabinomu/",
   "handle": "Suspilne Zaporizhzhia",
   "n": 1
  },
  {
   "url": "https://suspilne.media/zaporizhzhia/1432425-deficit-vodi-palnogo-ta-personalu-na-timcasovo-okupovanij-zaporizkij-aes-kriticna-situacia-gur/",
   "handle": "Suspilne Zaporizhzhia",
   "n": 1
  },
  {
   "url": "https://suspilne.media/zaporizhzhia/1432533-rosiani-atakuvali-dronom-specavtivku-ratuvalnikiv-u-zaporizkomu-rajoni/",
   "handle": "Suspilne Zaporizhzhia",
   "n": 1
  },
  {
   "url": "https://t.me/DeepStateUA/23910",
   "handle": "DeepStateUA",
   "n": 1
  },
  {
   "url": "https://t.me/DeepStateUA/23911",
   "handle": "DeepStateUA",
   "n": 1
  },
  {
   "url": "https://t.me/DeepStateUA/23913",
   "handle": "DeepStateUA",
   "n": 1
  },
  {
   "url": "https://t.me/DeepStateUA/23919",
   "handle": "DeepStateUA",
   "n": 1
  },
  {
   "url": "https://t.me/DeepStateUA/23924",
   "handle": "DeepState (cite-only)",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42611",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42612",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42614",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42615",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42616",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42618",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42620",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42622",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42623",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42625",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42627",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42628",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42629",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42630",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42633",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42634",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42636",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42638",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42640",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42641",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42649",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42655",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42657",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42658",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42660",
   "handle": "UA General Staff",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42663",
   "handle": "UA General Staff",
   "n": 1
  },
  {
   "url": "https://t.me/RBC_ua_news/209199",
   "handle": "RBC_ua_news",
   "n": 1
  },
  {
   "url": "https://t.me/RBC_ua_news/209259",
   "handle": "RBC_ua_news",
   "n": 1
  },
  {
   "url": "https://t.me/RBC_ua_news/209327",
   "handle": "RBC_ua_news",
   "n": 1
  },
  {
   "url": "https://t.me/RBC_ua_news/209338",
   "handle": "RBC_ua_news",
   "n": 1
  },
  {
   "url": "https://t.me/RBC_ua_news/209339",
   "handle": "RBC_ua_news",
   "n": 1
  },
  {
   "url": "https://t.me/RBC_ua_news/209388",
   "handle": "RBC_ua_news",
   "n": 1
  },
  {
   "url": "https://t.me/RBC_ua_news/209469",
   "handle": "RBC_ua_news",
   "n": 1
  },
  {
   "url": "https://t.me/RBC_ua_news/209482",
   "handle": "RBC_ua_news",
   "n": 1
  },
  {
   "url": "https://t.me/RBC_ua_news/209487",
   "handle": "RBC_ua_news",
   "n": 1
  },
  {
   "url": "https://t.me/RBC_ua_news/209495",
   "handle": "RBC_ua_news",
   "n": 1
  },
  {
   "url": "https://t.me/RBC_ua_news/209501",
   "handle": "RBC_ua_news",
   "n": 1
  },
  {
   "url": "https://t.me/RBC_ua_news/209534",
   "handle": "RBC_ua_news",
   "n": 1
  },
  {
   "url": "https://t.me/RBC_ua_news/209661",
   "handle": "RBC_ua_news",
   "n": 1
  },
  {
   "url": "https://t.me/SALDO_VGA/17924",
   "handle": "SALDO_VGA",
   "n": 1
  },
  {
   "url": "https://t.me/Suriyak_maps/13225",
   "handle": "Suriyak_maps",
   "n": 1
  },
  {
   "url": "https://t.me/Suriyak_maps/13226",
   "handle": "Suriyak_maps",
   "n": 1
  },
  {
   "url": "https://t.me/V_Zelenskiy_official/21421",
   "handle": "V_Zelenskiy_official",
   "n": 1
  },
  {
   "url": "https://t.me/V_Zelenskiy_official/21425",
   "handle": "V_Zelenskiy_official",
   "n": 1
  },
  {
   "url": "https://t.me/V_Zelenskiy_official/21435",
   "handle": "V_Zelenskiy_official",
   "n": 1
  },
  {
   "url": "https://t.me/V_Zelenskiy_official/21437",
   "handle": "V_Zelenskiy_official",
   "n": 1
  },
  {
   "url": "https://t.me/VadymFilashkin/18794",
   "handle": "VadymFilashkin",
   "n": 1
  },
  {
   "url": "https://t.me/boris_rozhin/230692",
   "handle": "Colonelcassad (RU milblogger)",
   "n": 1
  },
  {
   "url": "https://t.me/bureviy_brigade/5556",
   "handle": "bureviy_brigade",
   "n": 1
  },
  {
   "url": "https://t.me/creamy_caprice/13300",
   "handle": "creamy_caprice",
   "n": 1
  },
  {
   "url": "https://t.me/creamy_caprice/13301",
   "handle": "creamy_caprice",
   "n": 1
  },
  {
   "url": "https://t.me/creamy_caprice/13303",
   "handle": "creamy_caprice (OSINT)",
   "n": 1
  },
  {
   "url": "https://t.me/creamy_caprice/13304",
   "handle": "creamy_caprice (OSINT)",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32638",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32645",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32658",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32660",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32672",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32691",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32693",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32717",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32725",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32726",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32729",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dva_majors/100616",
   "handle": "dva_majors",
   "n": 1
  },
  {
   "url": "https://t.me/dva_majors/100617",
   "handle": "dva_majors",
   "n": 1
  },
  {
   "url": "https://t.me/dva_majors/100640",
   "handle": "dva_majors",
   "n": 1
  },
  {
   "url": "https://t.me/dva_majors/100660",
   "handle": "dva_majors",
   "n": 1
  },
  {
   "url": "https://t.me/dva_majors/100665",
   "handle": "dva_majors",
   "n": 1
  },
  {
   "url": "https://t.me/dva_majors/100671",
   "handle": "dva_majors",
   "n": 1
  },
  {
   "url": "https://t.me/dva_majors/100699",
   "handle": "dva_majors",
   "n": 1
  },
  {
   "url": "https://t.me/dva_majors/100700",
   "handle": "dva_majors",
   "n": 1
  },
  {
   "url": "https://t.me/dva_majors/100739",
   "handle": "dva_majors",
   "n": 1
  },
  {
   "url": "https://t.me/dva_majors/100746",
   "handle": "dva_majors",
   "n": 1
  },
  {
   "url": "https://t.me/dva_majors/100760",
   "handle": "dva_majors",
   "n": 1
  },
  {
   "url": "https://t.me/dva_majors/100895",
   "handle": "Russian milbloggers (Dva Majora)",
   "n": 1
  },
  {
   "url": "https://t.me/exilenova_plus/33237",
   "handle": "Exilenova+",
   "n": 1
  },
  {
   "url": "https://t.me/exilenova_plus/33246",
   "handle": "Exilenova+",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20128",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20139",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20141",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20145",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20148",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20151",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20152",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20155",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20156",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20159",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20173",
   "handle": "Russian milbloggers (GrV Zapad)",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20174",
   "handle": "Russian milbloggers (GrV Zapad)",
   "n": 1
  },
  {
   "url": "https://t.me/interfaxonline/80275",
   "handle": "interfaxonline",
   "n": 1
  },
  {
   "url": "https://t.me/interfaxonline/80294",
   "handle": "interfaxonline",
   "n": 1
  },
  {
   "url": "https://t.me/interfaxonline/80303",
   "handle": "interfaxonline",
   "n": 1
  },
  {
   "url": "https://t.me/interfaxonline/80397",
   "handle": "interfaxonline",
   "n": 1
  },
  {
   "url": "https://t.me/interfaxonline/80451",
   "handle": "interfaxonline",
   "n": 1
  },
  {
   "url": "https://t.me/interfaxonline/80519",
   "handle": "interfaxonline",
   "n": 1
  },
  {
   "url": "https://t.me/interfaxonline/80599",
   "handle": "Interfax",
   "n": 1
  },
  {
   "url": "https://t.me/ivan_fedorov_zp/49068",
   "handle": "ivan_fedorov_zp",
   "n": 1
  },
  {
   "url": "https://t.me/ivan_fedorov_zp/49069",
   "handle": "ivan_fedorov_zp",
   "n": 1
  },
  {
   "url": "https://t.me/ivan_fedorov_zp/49077",
   "handle": "ivan_fedorov_zp",
   "n": 1
  },
  {
   "url": "https://t.me/ivan_fedorov_zp/49089",
   "handle": "ivan_fedorov_zp",
   "n": 1
  },
  {
   "url": "https://t.me/khersonskaODA/69755",
   "handle": "khersonskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/khersonskaODA/69852",
   "handle": "khersonskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/khersonskaODA/69854",
   "handle": "khersonskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/khersonskaODA/69868",
   "handle": "khersonskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/khersonskaODA/69878",
   "handle": "khersonskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/khersonskaODA/69902",
   "handle": "khersonskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/khersonskaODA/69903",
   "handle": "khersonskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/khersonskaODA/69916",
   "handle": "khersonskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/khersonskaODA/69974",
   "handle": "khersonskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/khersonskaODA/69978",
   "handle": "khersonskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/khersonskaODA/69986",
   "handle": "khersonskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/khersonskaODA/70025",
   "handle": "khersonskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/kpszsu/87510",
   "handle": "kpszsu",
   "n": 1
  },
  {
   "url": "https://t.me/milinfolive/181638",
   "handle": "milinfolive",
   "n": 1
  },
  {
   "url": "https://t.me/milinfolive/181686",
   "handle": "milinfolive",
   "n": 1
  },
  {
   "url": "https://t.me/milinfolive/181703",
   "handle": "milinfolive",
   "n": 1
  },
  {
   "url": "https://t.me/milinfolive/181719",
   "handle": "milinfolive",
   "n": 1
  },
  {
   "url": "https://t.me/milinfolive/181768",
   "handle": "milinfolive",
   "n": 1
  },
  {
   "url": "https://t.me/milinfolive/181787",
   "handle": "milinfolive",
   "n": 1
  },
  {
   "url": "https://t.me/milinfolive/181793",
   "handle": "milinfolive",
   "n": 1
  },
  {
   "url": "https://t.me/milinfolive/181813",
   "handle": "milinfolive",
   "n": 1
  },
  {
   "url": "https://t.me/milinfolive/181825",
   "handle": "milinfolive",
   "n": 1
  },
  {
   "url": "https://t.me/milinfolive/181826",
   "handle": "milinfolive",
   "n": 1
  },
  {
   "url": "https://t.me/milinfolive/181831",
   "handle": "milinfolive",
   "n": 1
  },
  {
   "url": "https://t.me/milinfolive/181833",
   "handle": "milinfolive",
   "n": 1
  },
  {
   "url": "https://t.me/milinfolive/181871",
   "handle": "milinfolive",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68294",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68295",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68303",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68305",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68307",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68310",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68312",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68313",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68314",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68329",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68332",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68333",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68334",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68340",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68344",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68345",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68347",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68350",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68353",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68354",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68356",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68362",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68363",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68367",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68369",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68374",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68378",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68385",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68386",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68389",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68392",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68394",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68395",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68404",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68405",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68408",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68409",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68410",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68419",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68427",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68430",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68431",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68442",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68464",
   "handle": "RF MoD",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68465",
   "handle": "RF MoD",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68471",
   "handle": "RF MoD",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68473",
   "handle": "RF MoD",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68474",
   "handle": "RF MoD",
   "n": 1
  },
  {
   "url": "https://t.me/mon1tor_ua/77478",
   "handle": "mon1tor_ua",
   "n": 1
  },
  {
   "url": "https://t.me/motopatriot78/56942",
   "handle": "motopatriot78",
   "n": 1
  },
  {
   "url": "https://t.me/motopatriot78/56947",
   "handle": "motopatriot78",
   "n": 1
  },
  {
   "url": "https://t.me/motopatriot78/56988",
   "handle": "motopatriot78",
   "n": 1
  },
  {
   "url": "https://t.me/motopatriot78/56991",
   "handle": "motopatriot78",
   "n": 1
  },
  {
   "url": "https://t.me/rian_ru/348193",
   "handle": "rian_ru",
   "n": 1
  },
  {
   "url": "https://t.me/rian_ru/348478",
   "handle": "RIA Novosti",
   "n": 1
  },
  {
   "url": "https://t.me/rybar/83983",
   "handle": "rybar",
   "n": 1
  },
  {
   "url": "https://t.me/rybar/84023",
   "handle": "rybar",
   "n": 1
  },
  {
   "url": "https://t.me/rybar/84028",
   "handle": "rybar",
   "n": 1
  },
  {
   "url": "https://t.me/rybar/84051",
   "handle": "rybar",
   "n": 1
  },
  {
   "url": "https://t.me/severnnyi/9648",
   "handle": "severnnyi",
   "n": 1
  },
  {
   "url": "https://t.me/severnnyi/9651",
   "handle": "severnnyi",
   "n": 1
  },
  {
   "url": "https://t.me/severnnyi/9655",
   "handle": "severnnyi",
   "n": 1
  },
  {
   "url": "https://t.me/severnnyi/9663",
   "handle": "severnnyi",
   "n": 1
  },
  {
   "url": "https://t.me/severnnyi/9670",
   "handle": "severnnyi",
   "n": 1
  },
  {
   "url": "https://t.me/severnnyi/9673",
   "handle": "severnnyi",
   "n": 1
  },
  {
   "url": "https://t.me/severnnyi/9695",
   "handle": "Russian milbloggers (Severnyi)",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/77690",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/77701",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/77750",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/77764",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/77772",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/77807",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/77817",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/77826",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/77827",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/77836",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/77861",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/77932",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/77973",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/78039",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/78046",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/78056",
   "handle": "Suspilne",
   "n": 1
  },
  {
   "url": "https://t.me/synegubov/26718",
   "handle": "synegubov",
   "n": 1
  },
  {
   "url": "https://t.me/synegubov/26747",
   "handle": "synegubov",
   "n": 1
  },
  {
   "url": "https://t.me/synegubov/26785",
   "handle": "synegubov",
   "n": 1
  },
  {
   "url": "https://t.me/synegubov/26802",
   "handle": "synegubov",
   "n": 1
  },
  {
   "url": "https://t.me/synegubov/26822",
   "handle": "synegubov",
   "n": 1
  },
  {
   "url": "https://t.me/synegubov/26824",
   "handle": "synegubov",
   "n": 1
  },
  {
   "url": "https://t.me/synegubov/26826",
   "handle": "synegubov",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/400790",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/400793",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/400807",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/400826",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/400865",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/400873",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/400879",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/400940",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/400991",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/401113",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/401188",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/401337",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/401346",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/401427",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/401608",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/401619",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/401648",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/401781",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/401844",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/171794",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/171809",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/171853",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/171903",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/171919",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/171930",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/171936",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/171939",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/voenkorKotenok/76805",
   "handle": "voenkorKotenok",
   "n": 1
  },
  {
   "url": "https://t.me/voenkorKotenok/76808",
   "handle": "voenkorKotenok",
   "n": 1
  },
  {
   "url": "https://t.me/voenkorKotenok/76809",
   "handle": "voenkorKotenok",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21621",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21628",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21639",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21641",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21650",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21651",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21660",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21661",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21663",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21665",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21667",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21680",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21681",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21686",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21714",
   "handle": "Voin DV (Vostok GoF channel)",
   "n": 1
  },
  {
   "url": "https://t.me/wargonzo/37707",
   "handle": "wargonzo",
   "n": 1
  },
  {
   "url": "https://t.me/wargonzo/37730",
   "handle": "wargonzo",
   "n": 1
  },
  {
   "url": "https://t.me/wargonzo/37745",
   "handle": "wargonzo",
   "n": 1
  },
  {
   "url": "https://t.me/wargonzo/37750",
   "handle": "wargonzo",
   "n": 1
  },
  {
   "url": "https://t.me/wargonzo/37762",
   "handle": "wargonzo",
   "n": 1
  },
  {
   "url": "https://t.me/wargonzo/37770",
   "handle": "wargonzo",
   "n": 1
  },
  {
   "url": "https://t.me/wargonzo/37772",
   "handle": "wargonzo",
   "n": 1
  },
  {
   "url": "https://t.me/wargonzo/37780",
   "handle": "wargonzo",
   "n": 1
  },
  {
   "url": "https://t.me/zoda_gov_ua/68450",
   "handle": "zoda_gov_ua",
   "n": 1
  },
  {
   "url": "https://t.me/zoda_gov_ua/68475",
   "handle": "zoda_gov_ua",
   "n": 1
  },
  {
   "url": "https://t.me/zoda_gov_ua/68498",
   "handle": "zoda_gov_ua",
   "n": 1
  },
  {
   "url": "https://t.me/zoda_gov_ua/68505",
   "handle": "zoda_gov_ua",
   "n": 1
  },
  {
   "url": "https://t.me/zoda_gov_ua/68514",
   "handle": "zoda_gov_ua",
   "n": 1
  },
  {
   "url": "https://t.me/zoda_gov_ua/68527",
   "handle": "zoda_gov_ua",
   "n": 1
  },
  {
   "url": "https://t.me/zvizdecmanhustu/3648",
   "handle": "zvizdecmanhustu",
   "n": 1
  },
  {
   "url": "https://t.me/zvizdecmanhustu/3655",
   "handle": "zvizdecmanhustu",
   "n": 1
  },
  {
   "url": "https://t.me/zvizdecmanhustu/3662",
   "handle": "zvizdecmanhustu",
   "n": 1
  },
  {
   "url": "https://tass.com/defense/2203889",
   "handle": "TASS",
   "n": 1
  },
  {
   "url": "https://tass.com/politics/2203985",
   "handle": "TASS / Pushilin",
   "n": 1
  },
  {
   "url": "https://tass.com/politics/2204015",
   "handle": "TASS",
   "n": 1
  },
  {
   "url": "https://tass.com/politics/2204081",
   "handle": "TASS / Marochko",
   "n": 1
  },
  {
   "url": "https://tass.com/politics/2204097",
   "handle": "TASS / RF MoD",
   "n": 1
  },
  {
   "url": "https://tass.com/politics/2204409",
   "handle": "TASS",
   "n": 1
  },
  {
   "url": "https://tass.com/politics/2204633",
   "handle": "TASS",
   "n": 1
  },
  {
   "url": "https://tass.com/politics/2204695",
   "handle": "TASS",
   "n": 1
  },
  {
   "url": "https://tass.com/politics/2204745",
   "handle": "TASS",
   "n": 1
  },
  {
   "url": "https://tass.com/politics/2204775",
   "handle": "TASS",
   "n": 1
  },
  {
   "url": "https://tass.com/politics/2206899",
   "handle": "TASS / RF MoD",
   "n": 1
  },
  {
   "url": "https://tass.ru/proisshestviya/28227039",
   "handle": "TASS",
   "n": 1
  },
  {
   "url": "https://www.aljazeera.com/news/2026/10/18/ukrainian-drone-attack-on-russias-st-petersburg-kills-1-hits-energy-sites",
   "handle": "Al Jazeera",
   "n": 1
  },
  {
   "url": "https://www.aljazeera.com/news/2026/10/20/nato-to-send-additional-patrol-planes-to-black-sea-after-drone-attacks",
   "handle": "Al Jazeera",
   "n": 1
  },
  {
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-21-2026",
   "handle": "ISW / CTP",
   "n": 1
  },
  {
   "url": "https://www.interfax.ru/russia/1123168",
   "handle": "Interfax (RF MoD)",
   "n": 1
  },
  {
   "url": "https://www.interfax.ru/russia/1123175",
   "handle": "Interfax (RF MoD)",
   "n": 1
  },
  {
   "url": "https://www.interfax.ru/russia/1124378",
   "handle": "Interfax",
   "n": 1
  },
  {
   "url": "https://www.kyivpost.com/post/87548",
   "handle": "Kyiv Post",
   "n": 1
  },
  {
   "url": "https://www.kyivpost.com/post/87622",
   "handle": "Kyiv Post",
   "n": 1
  },
  {
   "url": "https://www.pravda.com.ua/eng/news/2026/10/17/8058493/",
   "handle": "Ukrainska Pravda",
   "n": 1
  },
  {
   "url": "https://www.pravda.com.ua/eng/news/2026/10/17/8058526/",
   "handle": "Ukrainska Pravda",
   "n": 1
  },
  {
   "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058579/",
   "handle": "Ukrainska Pravda",
   "n": 1
  },
  {
   "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058595/",
   "handle": "Ukrainska Pravda",
   "n": 1
  },
  {
   "url": "https://www.pravda.com.ua/eng/news/2026/10/19/8058792/",
   "handle": "Ukrainska Pravda",
   "n": 1
  },
  {
   "url": "https://www.pravda.com.ua/eng/news/2026/10/20/8058919/",
   "handle": "Ukrainska Pravda",
   "n": 1
  },
  {
   "url": "https://www.pravda.com.ua/eng/news/2026/10/20/8058939/",
   "handle": "Ukrainska Pravda",
   "n": 1
  },
  {
   "url": "https://www.pravda.com.ua/eng/news/2026/10/20/8058966/",
   "handle": "Ukrainska Pravda",
   "n": 1
  },
  {
   "url": "https://www.pravda.com.ua/eng/news/2026/10/21/8058891/",
   "handle": "Ukrainska Pravda",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175377-vinnytsia-region-endures-one-of-russias-largest-attacks-since-start-of-fullscale-invasion.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175379-russian-fab-bombs-hit-highrise-buildings-in-sloviansk-killing-one-person-and-injuring-ten-others.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175395-russian-forces-launch-massive-guided-bomb-attack-on-sumy-killing-one-person-and-injuring-several-others.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175428-azov-regiment-denies-russian-claims-of-capturing-three-settlements-near-dobropillia.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175451-ukraine-loses-ability-to-use-starlink-to-shoot-down-jetpowered-shaheds-zelensky.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175464-putin-wants-to-deploy-ballistic-missiles-in-belarus-to-attack-western-ukraine-zelensky-says.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175472-russian-forces-execute-captured-ukrainian-soldiers-in-huliaipole-sector.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175480-russian-forces-aim-to-capture-orikhiv-by-end-of-october-ukrainian-military-says.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175491-russian-strikes-on-kherson-region-leave-one-killed-40-injured-including-children.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175506-russian-shelling-in-dnipropetrovsk-region-injures-three-people.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175508-russian-strike-on-energy-facility-in-chernihiv-region-leaves-nearly-19000-customers-without-power.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175520-russian-missile-strike-on-kharkiv-injures-three-people.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175555-russian-strikes-kill-two-injure-five-in-sumy-region-in-one-day.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175622-russian-forces-hit-apartment-building-in-odesa-injure-child.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175625-russian-drone-strikes-minibus-in-kharkiv-region-injuring-two.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175673-malokaterynivka-in-zaporizhzhia-region-remains-under-ukrainian-control-ccd.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175695-russian-forces-launch-another-attack-on-critical-infrastructure-in-vinnytsia-region.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175702-russian-uav-strike-hits-car-in-kharkiv-region-injuring-two-people.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175718-russian-forces-strike-industrial-facility-in-rivne-region.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175721-russian-attacks-leave-19000-consumers-without-power-in-ternopil-region.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175909-russian-forces-exploiting-bad-weather-in-bid-for-breakthroughs-near-huliaipole-ukraines-air-assault-forces.html",
   "handle": "Ukrinform / 7th DShV Corps",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4175969-russian-attack-on-irpin-kills-one-person-and-injures-19-including-nine-children.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4176028-russian-attacks-in-kherson-region-injure-seven-people-over-past-day.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4176172-russian-claims-of-successes-in-kharkiv-region-are-false-trehubov-says.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4176318-data-center-attacked-overnight-in-russianoccupied-donetsk.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4176338-russian-drone-attacks-kill-one-injure-seven-in-kyiv.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4176435-russian-attacks-leave-one-dead-12-injured-in-kyiv-since-midnight.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4176470-russian-forces-strike-epicentr-shopping-center-in-pervomaisk-injuring-two-women.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4176498-injury-toll-from-russian-strike-on-epicentr-shopping-mall-in-pervomaisk-rises-to-eight.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4176639-azov-dismisses-russian-claim-of-capturing-dobropillia.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4176644-seven-killed-in-sloviansk-as-rescue-workers-spend-five-days-clearing-rubble.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4176710-injury-toll-in-russian-attack-on-uman-rises-to-five.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4176822-russian-strike-on-sloviansk-injures-five-including-two-children.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4176831-injury-toll-from-russian-drone-attack-toll-in-chortkiv-rises-to-four.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4176848-russian-forces-attack-warehouses-in-kropyvnytskyi-district.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4176863-russian-drone-attacks-evacuation-vehicle-in-donetsk-region.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4176997-russian-forces-spreading-false-claims-of-capturing-settlements-in-zaporizhzhia-region-military.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177045-russian-forces-strike-residential-area-in-dnipro.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177070-russian-drone-hits-hospital-in-hlukhiv.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177075-ukrainian-forces-hit-two-russian-air-defense-systems-targeting-ukrainian-aircraft-in-huliaipole-sector.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177205-russian-strike-sets-commuter-train-on-fire-in-kharkiv.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177211-russian-drone-hits-house-in-zhytomyr-region-injuring-nine-including-children.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177265-russian-strike-on-lozova-market-two-killed-injury-toll-rises-to-36.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177275-death-toll-from-russian-strike-on-zaporizhzhia-rises-to-three.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177430-russian-strikes-hit-kharkiv-zlatopil-and-nova-vodolaha-sparking-fires-and-causing-damage.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177491-russian-sabotage-and-reconnaissance-groups-step-up-activity-in-sumy-and-chernihiv-regions-sbgs.html",
   "handle": "Ukrinform / SBGS",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177517-russian-forces-attack-enterprise-in-chernihiv-leaving-one-killed-25-injured.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-economy/4175466-russian-forces-strike-zaporizhstal-steel-plant-with-ballistic-missiles-causing-damage.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-society/4175791-russian-shelling-in-kherson-region-injures-child-as-forces-attack-over-20-settlements-in-past-24-hours.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://x.com/AMK_Mapping_/status/2111353298162978826",
   "handle": "AMK_Mapping_",
   "n": 1
  },
  {
   "url": "https://x.com/AMK_Mapping_/status/2111354059785687514",
   "handle": "AMK_Mapping_",
   "n": 1
  },
  {
   "url": "https://x.com/DefenceU/status/2111464516395671878",
   "handle": "DefenceU",
   "n": 1
  },
  {
   "url": "https://x.com/EuromaidanPress/status/2112282143242027067",
   "handle": "EuromaidanPress",
   "n": 1
  },
  {
   "url": "https://x.com/HojenoGMM/status/2112482751328702492",
   "handle": "HojenoGMM",
   "n": 1
  },
  {
   "url": "https://x.com/HromRadio_eng/status/2112171952060174464",
   "handle": "HromRadio_eng",
   "n": 1
  },
  {
   "url": "https://x.com/M0nstas/status/2112248808977351042",
   "handle": "M0nstas",
   "n": 1
  },
  {
   "url": "https://x.com/Majakovsk73/status/2112152149178343502",
   "handle": "Majakovsk73",
   "n": 1
  },
  {
   "url": "https://x.com/MaximeFago89056/status/2112612514504569054",
   "handle": "MaximeFago89056",
   "n": 1
  },
  {
   "url": "https://x.com/MehedyAlam21879/status/2112912299795067116",
   "handle": "MehedyAlam21879",
   "n": 1
  },
  {
   "url": "https://x.com/NOELreports/status/2111411317152354740",
   "handle": "NOELreports",
   "n": 1
  },
  {
   "url": "https://x.com/NOELreports/status/2111557143203876888",
   "handle": "NOELreports",
   "n": 1
  },
  {
   "url": "https://x.com/NOELreports/status/2111561961456464174",
   "handle": "NOELreports",
   "n": 1
  },
  {
   "url": "https://x.com/NOELreports/status/2112556233794146407",
   "handle": "NOELreports",
   "n": 1
  },
  {
   "url": "https://x.com/NOELreports/status/2112888133692030995",
   "handle": "NOELreports",
   "n": 1
  },
  {
   "url": "https://x.com/NSTRIKE1231/status/2112874698618933720",
   "handle": "NSTRIKE1231",
   "n": 1
  },
  {
   "url": "https://x.com/Oleg_IHS/status/2111484934707921248",
   "handle": "Oleg_IHS",
   "n": 1
  },
  {
   "url": "https://x.com/Oleg_IHS/status/2112990480665313548",
   "handle": "Oleg_IHS",
   "n": 1
  },
  {
   "url": "https://x.com/Osinttechnical/status/2111831775617900745",
   "handle": "Osinttechnical",
   "n": 1
  },
  {
   "url": "https://x.com/UAControlMap/status/2112019859945005135",
   "handle": "UAControlMap",
   "n": 1
  },
  {
   "url": "https://x.com/UA_Linewatch/status/2112838421563445338",
   "handle": "UA_Linewatch",
   "n": 1
  },
  {
   "url": "https://x.com/WarHunter2222/status/2111862574140498231",
   "handle": "WarHunter2222",
   "n": 1
  },
  {
   "url": "https://x.com/armyinformcomua/status/2111378383540039981",
   "handle": "armyinformcomua",
   "n": 1
  },
  {
   "url": "https://x.com/creamy_caprice/status/2112124878031577344",
   "handle": "creamy_caprice",
   "n": 1
  },
  {
   "url": "https://x.com/voennoedelocom/status/2112450138967040015",
   "handle": "voennoedelocom",
   "n": 1
  },
  {
   "url": "https://x.com/voennoedelocom/status/2112971644008567195",
   "handle": "voennoedelocom",
   "n": 1
  },
  {
   "url": "https://x.com/wartranslated/status/2111540917161066738",
   "handle": "wartranslated",
   "n": 1
  },
  {
   "url": "https://x.com/wartranslated/status/2111901799921664477",
   "handle": "wartranslated",
   "n": 1
  },
  {
   "url": "https://x.com/wartranslated/status/2111913551002522034",
   "handle": "wartranslated",
   "n": 1
  }
 ],
 "ledger": [
  {
   "claim_id": "zoda-20261017-zaporizhzhia-strike",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/zoda_gov_ua/68450",
   "clause": "Zaporizhzhia OVA: strike on open ground among residential buildings in Zaporizhzhia"
  },
  {
   "claim_id": "zoda-20261017-zaporizhzhia-strike",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/zoda_gov_ua/68450",
   "clause": "apartment blocks damaged, cars burned, two injured"
  },
  {
   "claim_id": "zoda-20261017-zaporizhzhia-strike",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/zoda_gov_ua/68450",
   "clause": "apartment blocks damaged, cars burned, two injured"
  },
  {
   "claim_id": "zoda-20261017-zaporizhzhia-strike",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/zoda_gov_ua/68450",
   "clause": "later homes damaged in Voznesenivskyi, Dniprovskyi and Zavodskyi districts"
  },
  {
   "claim_id": "dnipro-ova-20261017-kryvyi-rih-dnipro",
   "date": "2026-10-17",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 3,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32638",
   "clause": "Dnipropetrovsk OVA: almost 20 attacks on three districts with drones and missiles"
  },
  {
   "claim_id": "dnipro-ova-20261017-kryvyi-rih-dnipro",
   "date": "2026-10-17",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 20.0,
   "qual": "almost",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32638",
   "clause": "Dnipropetrovsk OVA: almost 20 attacks on three districts with drones and missiles"
  },
  {
   "claim_id": "dnipro-ova-20261017-kryvyi-rih-dnipro",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32638",
   "clause": "one killed at a damaged enterprise in Dnipro"
  },
  {
   "claim_id": "dnipro-ova-20261017-kryvyi-rih-dnipro",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 24.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32638",
   "clause": "24 UAVs downed overnight"
  },
  {
   "claim_id": "ua-genstaff-20261017-gs0800-238-clashes",
   "date": "2026-10-17",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 30.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42611",
   "clause": "Pokrovsk direction 30 attacks (Toretske, Hruzke, Vilne, Kucheriv Yar, Svitle, Dobropillia, Serhiivka, Molodetske, Novopavlivka, Marivka)"
  },
  {
   "claim_id": "ua-genstaff-20261017-gs0800-238-clashes",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "casualties_unspec",
   "value": 1950.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42611",
   "clause": "RU losses claimed 1,950. Unverified / EST"
  },
  {
   "claim_id": "rf-mod-20261017-massive-strike-kryvyi-rih-zaporizhzhia-zhytomyr",
   "date": "2026-10-17",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 6,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68294",
   "clause": "Zaporizhstal (via UP/NOEL) reports six ballistic missiles, fifth attack, no casualties"
  },
  {
   "claim_id": "ua-genstaff-20261017-night-293-downed",
   "date": "2026-10-17",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 332.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/GeneralStaffZSU/42612",
   "clause": "UA GS/Air Force: night of 16–17 Oct Russia launched Iskander-M/KN-23 ballistic missiles, Kh-22/32, 4 Kalibr and 332 Shahed-type UAVs (31 jet), Banderol, Gerbera, Parodiya"
  },
  {
   "claim_id": "ua-genstaff-20261017-night-293-downed",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 289.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/GeneralStaffZSU/42612",
   "clause": "293 targets downed/suppressed (4 Kalibr, 289 UAVs)"
  },
  {
   "claim_id": "synegubov-20261017-kharkiv-day",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 41.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26718",
   "clause": "in Kharkiv a 71-year-old woman and 58-year-old man killed, 41 injured incl. three children"
  },
  {
   "claim_id": "synegubov-20261017-kharkiv-day",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 15.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26718",
   "clause": "SES (via Ukrinform): evening missile strikes on Kharkiv injured 15. Unverified / EST"
  },
  {
   "claim_id": "amk-20261017-admiral-makarov-kalibr",
   "date": "2026-10-17",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 6.0,
   "qual": "~",
   "target": "Russia",
   "civilian": false,
   "scope": "earlier event (before window)",
   "claimant": "Media report: AMK_Mapping_",
   "url": "https://x.com/AMK_Mapping_/status/2111354059785687514",
   "clause": "AMK Mapping (X): the repaired frigate Admiral Makarov (damaged by UA drones Aug 12) launched ~6 Kalibr cruise missiles at Kryvyi Rih today"
  },
  {
   "claim_id": "kherson-ova-20261017-kab-korabelnyi",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/khersonskaODA/69755",
   "clause": "ten apartment buildings damaged"
  },
  {
   "claim_id": "kherson-ova-20261017-kab-korabelnyi",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 22.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/khersonskaODA/69755",
   "clause": "Ukrinform: an ambulance driver killed, 22 injured (OVA later: 33 injured)"
  },
  {
   "claim_id": "kherson-ova-20261017-kab-korabelnyi",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 33.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/khersonskaODA/69755",
   "clause": "Ukrinform: an ambulance driver killed, 22 injured (OVA later: 33 injured)"
  },
  {
   "claim_id": "ukrinform-20261017-vinnytsia-blackout",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 24.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175377-vinnytsia-region-endures-one-of-russias-largest-attacks-since-start-of-fullscale-invasion.html",
   "clause": "24 drones downed"
  },
  {
   "claim_id": "ukrinform-20261017-vinnytsia-blackout",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 6,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175377-vinnytsia-region-endures-one-of-russias-largest-attacks-since-start-of-fullscale-invasion.html",
   "clause": "six injured"
  },
  {
   "claim_id": "ukrinform-20261017-vinnytsia-blackout",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://www.ukrinform.net/rubric-ato/4175377-vinnytsia-region-endures-one-of-russias-largest-attacks-since-start-of-fullscale-invasion.html",
   "clause": "Zelensky: 15+ energy facilities hit nationwide (Lutsk, Rivne, Zhytomyr, Vinnytsia, Shepetivka, Slavuta, Netishyn)"
  },
  {
   "claim_id": "ukrinform-20261017-sloviansk-fab",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-ato/4175379-russian-fab-bombs-hit-highrise-buildings-in-sloviansk-killing-one-person-and-injuring-ten-others.html",
   "clause": "Sloviansk City Council (via Ukrinform): FAB-250 strikes at 03:40 on two high-rise buildings"
  },
  {
   "claim_id": "ukrinform-20261017-sloviansk-fab",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-ato/4175379-russian-fab-bombs-hit-highrise-buildings-in-sloviansk-killing-one-person-and-injuring-ten-others.html",
   "clause": "1 killed, 10 injured"
  },
  {
   "claim_id": "ukrinform-20261017-sloviansk-fab",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 10.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-ato/4175379-russian-fab-bombs-hit-highrise-buildings-in-sloviansk-killing-one-person-and-injuring-ten-others.html",
   "clause": "1 killed, 10 injured"
  },
  {
   "claim_id": "ukrinform-20261017-sloviansk-fab",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 16.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-ato/4175379-russian-fab-bombs-hit-highrise-buildings-in-sloviansk-killing-one-person-and-injuring-ten-others.html",
   "clause": "16 injured in the city over 24 h"
  },
  {
   "claim_id": "rf-mod-20261017-summary-eight-settlements",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 654.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://www.interfax.ru/russia/1123168",
   "clause": "654 UAVs and a HIMARS rocket downed"
  },
  {
   "claim_id": "ukrinform-20261017-sumy-kab",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "at least",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175395-russian-forces-launch-massive-guided-bomb-attack-on-sumy-killing-one-person-and-injuring-several-others.html",
   "clause": "42-year-old man killed, at least two injured"
  },
  {
   "claim_id": "tass-20261017-bryansk-drone-killed",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/tass_agency/400790",
   "clause": "Two Majors relays overnight governor report of a truck hit near Katashin (Novozybkov district) and two lightly injured in Fokino"
  },
  {
   "claim_id": "rfmod-20261017-day-strikes-lutsk-kolodne-ship",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68303",
   "clause": "RF MoD: daytime UAV strikes hit a \"Kromberg & Schubert\" plant in Lutsk said to repair AFU vehicles, an electrical substation in Kolodne (Ternopil obl.), and a dry-cargo ship 40 km south of Odesa port carrying military/dual-use cargo"
  },
  {
   "claim_id": "ukrinform-20261017-zaporizhstal-ballistic",
   "date": "2026-10-17",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 6,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-economy/4175466-russian-forces-strike-zaporizhstal-steel-plant-with-ballistic-missiles-causing-damage.html",
   "clause": "Zaporizhstal press service: six ballistic missiles launched at the plant early Oct 17"
  },
  {
   "claim_id": "up-20261017-lasar-smerch-kherson",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:artillery",
   "value": 1,
   "qual": "single (no number stated)",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: Ukrainska Pravda",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/17/8058526/",
   "clause": "Ukrainska Pravda: NGU special-forces detachment Lasar's Group destroyed a Russian BM-30 Smerch launcher and its transporter-loader in Kherson Oblast (video)"
  },
  {
   "claim_id": "tass-20261017-lnr-power-outage",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: tass_agency",
   "url": "https://t.me/tass_agency/400826",
   "clause": "TASS citing occupation head Pasechnik: Ukrainian attack on LNR energy infrastructure caused an emergency outage"
  },
  {
   "claim_id": "ukrinform-20261017-kherson-1k-40w",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175491-russian-strikes-on-kherson-region-leave-one-killed-40-injured-including-children.html",
   "clause": "Kherson Regional Prosecutor: 1 killed, 40 injured (3 children) on Oct 17"
  },
  {
   "claim_id": "ukrinform-20261017-kherson-1k-40w",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 40.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175491-russian-strikes-on-kherson-region-leave-one-killed-40-injured-including-children.html",
   "clause": "Kherson Regional Prosecutor: 1 killed, 40 injured (3 children) on Oct 17"
  },
  {
   "claim_id": "ukrinform-20261017-kherson-1k-40w",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 35.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175491-russian-strikes-on-kherson-region-leave-one-killed-40-injured-including-children.html",
   "clause": "airstrike on Kherson ~04:00 injured 35"
  },
  {
   "claim_id": "ukrinform-20261017-dnipro-obl-30-attacks",
   "date": "2026-10-17",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 30.0,
   "qual": ">",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175506-russian-shelling-in-dnipropetrovsk-region-injures-three-people.html",
   "clause": "Dnipropetrovsk RMA head Hanzha: >30 Russian attacks on four districts Oct 17 with drones, artillery and bombs"
  },
  {
   "claim_id": "ukrinform-20261017-dnipro-obl-30-attacks",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175506-russian-shelling-in-dnipropetrovsk-region-injures-three-people.html",
   "clause": "3 injured in Nikopol area"
  },
  {
   "claim_id": "rfmod-20261017-day-ad-30-uav",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 1,
   "qual": "single (no number stated)",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68305",
   "clause": "RF MoD: 30 Ukrainian fixed-wing UAVs downed 08:00–20:00 MSK over Belgorod, Bryansk, Vologda, Kursk, Oryol oblasts, Krasnodar Krai and the Black Sea"
  },
  {
   "claim_id": "dvamajors-20261017-border-drone-strikes",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/dva_majors/100617",
   "clause": "Two Majors border summary (RU officials relayed): UAV hit a house in Belaya Beryozka (Trubchevsk dist., Bryansk)"
  },
  {
   "claim_id": "dvamajors-20261017-border-drone-strikes",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/dva_majors/100617",
   "clause": "multiple drone hits on cars/houses in Shebekino district (Belgorod)"
  },
  {
   "claim_id": "ukrinform-20261017-ternopil-chernihiv-energy",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://www.ukrinform.net/rubric-ato/4175508-russian-strike-on-energy-facility-in-chernihiv-region-leaves-nearly-19000-customers-without-power.html",
   "clause": "Ternopiloblenergo: another strike on an energy facility, part of Kremenets district without power (RF MoD claims Kolodne substation)"
  },
  {
   "claim_id": "rfmod-20261017-itogi-kryvyi-rih-zp-zhytomyr",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68307",
   "clause": "RF MoD day summary: massed strike on metallurgical plants, a transformer plant and an energy facility in Kryvyi Rih, Zaporizhzhia and Zhytomyr"
  },
  {
   "claim_id": "rfmod-20261017-itogi-kryvyi-rih-zp-zhytomyr",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:ships",
   "value": 1,
   "qual": "single (no number stated)",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68307",
   "clause": "dry-cargo ships hit"
  },
  {
   "claim_id": "uags-20261017-2200-215-clashes",
   "date": "2026-10-17",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 28.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42616",
   "clause": "Pokrovsk direction 28 attacks (Dobropillia, Dorozhnie, Hannivka, Chernihivka, Vodianske, Krasnopodillia, Myrne, Serhiivka, Molodetske, Mykolaivka, Muravka, Novopavlivka)"
  },
  {
   "claim_id": "suspilne-20261017-day-157-drones",
   "date": "2026-10-17",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 157.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/suspilnenews/77690",
   "clause": "UA Air Force (via Suspilne): 07:30–19:30 Oct 17 Russia attacked with 157 strike drones (25 jet) and six S-8000 Banderol"
  },
  {
   "claim_id": "suspilne-20261017-day-157-drones",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 140.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/suspilnenews/77690",
   "clause": "140 drones (22 jet) and all six S-8000 downed/suppressed"
  },
  {
   "claim_id": "ukrinform-20261017-kharkiv-ballistic-3w",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175520-russian-missile-strike-on-kharkiv-injures-three-people.html",
   "clause": "3 injured (Syniehubov / Mayor Terekhov)"
  },
  {
   "claim_id": "noel-20261017-romania-f16-two-drones",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:aircraft",
   "value": 2,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: NOELreports",
   "url": "https://x.com/NOELreports/status/2111557143203876888",
   "clause": "Romanian MoD (via NOELreports/KI): two F-16s shot down two jet-powered Geran-type drones that entered Romanian airspace over the Black Sea"
  },
  {
   "claim_id": "suspilne-20261017-poltava-drones-1k",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77701",
   "clause": "Poltava OVA head Diakivnych (via Suspilne): one killed, two injured in a Russian drone attack on Poltava evening Oct 17"
  },
  {
   "claim_id": "suspilne-20261017-poltava-drones-1k",
   "date": "2026-10-17",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77701",
   "clause": "Poltava OVA head Diakivnych (via Suspilne): one killed, two injured in a Russian drone attack on Poltava evening Oct 17"
  },
  {
   "claim_id": "suspilne-20261017-poltava-drones-1k",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77701",
   "clause": "4 private houses damaged (RBC-Ukraine)"
  },
  {
   "claim_id": "zoda-20261017-zaporizhzhia-residential-1k",
   "date": "2026-10-17",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/zoda_gov_ua/68475",
   "clause": "Zaporizhzhia OVA: residential building hit in Zaporizhzhia late Oct 17"
  },
  {
   "claim_id": "ki-20261018-st-petersburg-port-strike",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/flames-explosions-reported-amid-large-ukrainian-drone-attack-on-st-petersburg/",
   "clause": "port infrastructure, oil tankers and a data centre (VK) reportedly targeted, large fires"
  },
  {
   "claim_id": "tass-20261018-leningrad-95-uav-debris",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 95.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: tass_agency",
   "url": "https://t.me/tass_agency/400879",
   "clause": "Leningrad obl. governor Drozdenko: 95 UAVs downed over the region overnight Oct 18"
  },
  {
   "claim_id": "tass-20261018-leningrad-95-uav-debris",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: tass_agency",
   "url": "https://t.me/tass_agency/400879",
   "clause": "debris fell on a private house near Kirovsk and an apartment block in Vsevolozhsk"
  },
  {
   "claim_id": "fedorov-20261018-zaporizhzhia-808-strikes",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49068",
   "clause": "Zaporizhzhia OVA head Fedorov: over the past day 1 killed, 4 injured in Zaporizhzhia city/district"
  },
  {
   "claim_id": "fedorov-20261018-zaporizhzhia-808-strikes",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 4.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49068",
   "clause": "Zaporizhzhia OVA head Fedorov: over the past day 1 killed, 4 injured in Zaporizhzhia city/district"
  },
  {
   "claim_id": "fedorov-20261018-zaporizhzhia-808-strikes",
   "date": "2026-10-18",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 808.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49068",
   "clause": "808 strikes on 53 settlements"
  },
  {
   "claim_id": "syniehubov-20261018-kharkiv-12-injured",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 12.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26747",
   "clause": "12 injured (Kharkiv, Zolochiv, Izium)"
  },
  {
   "claim_id": "gs-20261018-overnight-180-drones",
   "date": "2026-10-18",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 180.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42618",
   "clause": "UA General Staff: overnight Oct 18 (from 18:00 Oct 17) Russia launched 1 Iskander-M ballistic missile (Voronezh obl.) and 180 Shahed-type drones (26 jet), plus S-8000 Banderol/Dan-T, Gerbera and Parodiya decoys"
  },
  {
   "claim_id": "gs-20261018-overnight-180-drones",
   "date": "2026-10-18",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42618",
   "clause": "UA General Staff: overnight Oct 18 (from 18:00 Oct 17) Russia launched 1 Iskander-M ballistic missile (Voronezh obl.) and 180 Shahed-type drones (26 jet), plus S-8000 Banderol/Dan-T, Gerbera and Parodiya decoys"
  },
  {
   "claim_id": "gs-20261018-overnight-180-drones",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 152.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42618",
   "clause": "152 drones (16 jet) downed/suppressed by 08:00"
  },
  {
   "claim_id": "ukrinform-20261018-sumy-2-killed",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175555-russian-strikes-kill-two-injure-five-in-sumy-region-in-one-day.html",
   "clause": "National Police (via Ukrinform): in Sumy hromada a 30-year-old man killed by drone, a 42-year-old killed by guided bombs, 2 women injured"
  },
  {
   "claim_id": "ifx-20261018-moscow-512-drones",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 512.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Media report: interfaxonline",
   "url": "https://t.me/interfaxonline/80294",
   "clause": "Sobyanin (via Interfax): since Saturday morning 512 drones flew toward the Moscow region, most destroyed on distant approaches"
  },
  {
   "claim_id": "ifx-20261018-moscow-512-drones",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_casualties_unspec",
   "value": 127.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: interfaxonline",
   "url": "https://t.me/interfaxonline/80294",
   "clause": "127 neutralised on approach to the capital (RIA: 87 overnight + 40 more)"
  },
  {
   "claim_id": "up-20261018-western-ukraine-strikes",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrainska Pravda",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058579/",
   "clause": "Ukrainska Pravda / Kyiv Independent (Romaniuk): Russian drones struck an industrial facility in Manevychi (Volyn) causing a large fire (second strike in 3 days), an energy facility near Staryi Vyshnivets (Ternopil) leaving consumers without power"
  },
  {
   "claim_id": "up-20261018-western-ukraine-strikes",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrainska Pravda",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058579/",
   "clause": "UP/Ukrinform: logistics complex / warehouse fire in Malekhiv (Lviv obl.)"
  },
  {
   "claim_id": "zelensky-20261018-energy-76-strikes",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21421",
   "clause": "overnight Oct 18 substations hit in Vinnytsia, Zhytomyr, Khmelnytskyi and Odesa oblasts"
  },
  {
   "claim_id": "zelensky-20261018-energy-76-strikes",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21421",
   "clause": "12 injured incl. 2 children, 2 killed"
  },
  {
   "claim_id": "zelensky-20261018-energy-76-strikes",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 12.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21421",
   "clause": "12 injured incl. 2 children, 2 killed"
  },
  {
   "claim_id": "zelensky-20261018-energy-76-strikes",
   "date": "2026-10-18",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 2700.0,
   "qual": "~",
   "target": "Unclear",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21421",
   "clause": "past week ~2,700 strike drones, 1,700 glide bombs, 66 missiles"
  },
  {
   "claim_id": "zelensky-20261018-energy-76-strikes",
   "date": "2026-10-18",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 66.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21421",
   "clause": "past week ~2,700 strike drones, 1,700 glide bombs, 66 missiles"
  },
  {
   "claim_id": "zelensky-20261018-energy-76-strikes",
   "date": "2026-10-18",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 1700.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21421",
   "clause": "past week ~2,700 strike drones, 1,700 glide bombs, 66 missiles"
  },
  {
   "claim_id": "tass-20261018-leningrad-10-injured",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: tass_agency",
   "url": "https://t.me/tass_agency/400940",
   "clause": "RIA/Drozdenko: woman and 3 children injured in Vsevolozhsk district, debris on an apartment block in Gatchina, two transformer substations off in Yanino"
  },
  {
   "claim_id": "tass-20261018-leningrad-10-injured",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: tass_agency",
   "url": "https://t.me/tass_agency/400940",
   "clause": "RIA/Drozdenko: woman and 3 children injured in Vsevolozhsk district, debris on an apartment block in Gatchina, two transformer substations off in Yanino"
  },
  {
   "claim_id": "tass-20261018-leningrad-10-injured",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: tass_agency",
   "url": "https://t.me/tass_agency/400940",
   "clause": "RIA/Drozdenko: woman and 3 children injured in Vsevolozhsk district, debris on an apartment block in Gatchina, two transformer substations off in Yanino"
  },
  {
   "claim_id": "up-20261018-sloviansk-6-killed",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 6,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058595/",
   "clause": "Ukrainska Pravda citing Sloviansk MVA head Liakh / SES: six killed and 15 injured in Russian airstrikes and drone attacks on Sloviansk on Oct 17"
  },
  {
   "claim_id": "up-20261018-sloviansk-6-killed",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 15.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058595/",
   "clause": "Ukrainska Pravda citing Sloviansk MVA head Liakh / SES: six killed and 15 injured in Russian airstrikes and drone attacks on Sloviansk on Oct 17"
  },
  {
   "claim_id": "up-20261018-sloviansk-6-killed",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058595/",
   "clause": "20+ houses damaged"
  },
  {
   "claim_id": "up-20261018-sloviansk-6-killed",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 7.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058595/",
   "clause": "KI: Donetsk Oblast total 7 killed, 14 injured (Filashkin)"
  },
  {
   "claim_id": "up-20261018-sloviansk-6-killed",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 14.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/18/8058595/",
   "clause": "KI: Donetsk Oblast total 7 killed, 14 injured (Filashkin)"
  },
  {
   "claim_id": "dnipro-ova-20261018-synelnykove-dnipro",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32658",
   "clause": "Dnipropetrovsk OVA: overnight 3 injured, >10 attacks on three districts (Dnipro infrastructure and cars damaged"
  },
  {
   "claim_id": "dnipro-ova-20261018-synelnykove-dnipro",
   "date": "2026-10-18",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 10.0,
   "qual": ">",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32658",
   "clause": "Dnipropetrovsk OVA: overnight 3 injured, >10 attacks on three districts (Dnipro infrastructure and cars damaged"
  },
  {
   "claim_id": "rfmod-20261018-daily-no-new-captures",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "casualties_unspec",
   "value": 1185.0,
   "qual": "~",
   "target": "Ukraine",
   "civilian": false,
   "scope": "daily",
   "claimant": "RU MoD",
   "url": "https://t.me/interfaxonline/80303",
   "clause": "UA losses ~1,185 across all groupings"
  },
  {
   "claim_id": "rfmod-20261018-daily-no-new-captures",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 1256.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/interfaxonline/80303",
   "clause": "7 Flamingo missiles and 1,256 UAVs downed"
  },
  {
   "claim_id": "rfmod-20261018-daily-no-new-captures",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:missiles",
   "value": 7.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/interfaxonline/80303",
   "clause": "7 Flamingo missiles and 1,256 UAVs downed"
  },
  {
   "claim_id": "ukrinform-20261018-odesa-apartment-energy",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175622-russian-forces-hit-apartment-building-in-odesa-injure-child.html",
   "clause": "Odesa city MA head Lysak (via Ukrinform): strike on a high-rise residential building, roof fire, 13-year-old girl injured"
  },
  {
   "claim_id": "tass-20261018-lnr-3-killed",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 3,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: TASS",
   "url": "https://tass.ru/proisshestviya/28227039",
   "clause": "TASS headline: three killed and three injured in Ukrainian attacks in the \"LNR\""
  },
  {
   "claim_id": "beglov-20261018-st-petersburg-1-killed",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Al Jazeera",
   "url": "https://www.aljazeera.com/news/2026/10/18/ukrainian-drone-attack-on-russias-st-petersburg-kills-1-hits-energy-sites",
   "clause": "Al Jazeera (AFP/Reuters) citing Governor Beglov: massive Ukrainian drone attack on St Petersburg killed at least 1, injured 5"
  },
  {
   "claim_id": "beglov-20261018-st-petersburg-1-killed",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 5.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Al Jazeera",
   "url": "https://www.aljazeera.com/news/2026/10/18/ukrainian-drone-attack-on-russias-st-petersburg-kills-1-hits-energy-sites",
   "clause": "Al Jazeera (AFP/Reuters) citing Governor Beglov: massive Ukrainian drone attack on St Petersburg killed at least 1, injured 5"
  },
  {
   "claim_id": "beglov-20261018-st-petersburg-1-killed",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Al Jazeera",
   "url": "https://www.aljazeera.com/news/2026/10/18/ukrainian-drone-attack-on-russias-st-petersburg-kills-1-hits-energy-sites",
   "clause": "fires at the St Petersburg Oil Terminal, Ruchyi oil depot and Kolpino industrial warehouses"
  },
  {
   "claim_id": "beglov-20261018-st-petersburg-1-killed",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Al Jazeera",
   "url": "https://www.aljazeera.com/news/2026/10/18/ukrainian-drone-attack-on-russias-st-petersburg-kills-1-hits-energy-sites",
   "clause": "fires at the St Petersburg Oil Terminal, Ruchyi oil depot and Kolpino industrial warehouses"
  },
  {
   "claim_id": "beglov-20261018-st-petersburg-1-killed",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Al Jazeera",
   "url": "https://www.aljazeera.com/news/2026/10/18/ukrainian-drone-attack-on-russias-st-petersburg-kills-1-hits-energy-sites",
   "clause": "12 apartment blocks and 2 houses damaged"
  },
  {
   "claim_id": "beglov-20261018-st-petersburg-1-killed",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Al Jazeera",
   "url": "https://www.aljazeera.com/news/2026/10/18/ukrainian-drone-attack-on-russias-st-petersburg-kills-1-hits-energy-sites",
   "clause": "Ozon logistics centre and VK data centre (Novosergievka, Vsevolozhsk dist.) also hit"
  },
  {
   "claim_id": "ukrinform-20261018-velykyi-burluk-minibus",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-ato/4175625-russian-drone-strikes-minibus-in-kharkiv-region-injuring-two.html",
   "clause": "Kupiansk district MA head Kanashevych (via Ukrinform): UAV hit a minibus on the Velykyi Burluk–Nova Oleksandrivka road ~08:30, injuring 2"
  },
  {
   "claim_id": "ukrinform-20261018-velykyi-burluk-minibus",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-ato/4175625-russian-drone-strikes-minibus-in-kharkiv-region-injuring-two.html",
   "clause": "a medical facility in Velykyi Burluk damaged"
  },
  {
   "claim_id": "ukrinform-20261018-velykyi-burluk-minibus",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 4.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-ato/4175625-russian-drone-strikes-minibus-in-kharkiv-region-injuring-two.html",
   "clause": "UP: 4 injured in two drone attacks on vehicles in Kharkiv Oblast"
  },
  {
   "claim_id": "ukrinform-20261018-velykyi-burluk-minibus",
   "date": "2026-10-18",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 2,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-ato/4175625-russian-drone-strikes-minibus-in-kharkiv-region-injuring-two.html",
   "clause": "UP: 4 injured in two drone attacks on vehicles in Kharkiv Oblast"
  },
  {
   "claim_id": "ki-20261018-kherson-32-injured",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 32.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/russian-drones-hit-western-ukraine-as-nationwide-attacks-kill-10-injure-73/",
   "clause": "Kyiv Independent nationwide roundup: Russian attacks in Kherson Oblast injured 32 incl. one child (Prokudin)"
  },
  {
   "claim_id": "ki-20261018-kherson-32-injured",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/russian-drones-hit-western-ukraine-as-nationwide-attacks-kill-10-injure-73/",
   "clause": "Sumy Oblast 2 killed / 5 injured"
  },
  {
   "claim_id": "ki-20261018-kherson-32-injured",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 5.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/russian-drones-hit-western-ukraine-as-nationwide-attacks-kill-10-injure-73/",
   "clause": "Sumy Oblast 2 killed / 5 injured"
  },
  {
   "claim_id": "ki-20261018-kherson-32-injured",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/russian-drones-hit-western-ukraine-as-nationwide-attacks-kill-10-injure-73/",
   "clause": "Chernihiv Oblast 1 injured"
  },
  {
   "claim_id": "ki-20261018-kherson-32-injured",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 10.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/russian-drones-hit-western-ukraine-as-nationwide-attacks-kill-10-injure-73/",
   "clause": "nationwide 10 killed, 73 injured"
  },
  {
   "claim_id": "ki-20261018-kherson-32-injured",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 73.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/russian-drones-hit-western-ukraine-as-nationwide-attacks-kill-10-injure-73/",
   "clause": "nationwide 10 killed, 73 injured"
  },
  {
   "claim_id": "rbc-20261018-firepoint-fp1-spb",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: RBC_ua_news",
   "url": "https://t.me/RBC_ua_news/209199",
   "clause": "FP-1 drones hit the VK data centre, Ruchyi oil depot and the Petersburg Oil Terminal (12.5 Mt/yr)"
  },
  {
   "claim_id": "rbc-20261018-firepoint-fp1-spb",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: RBC_ua_news",
   "url": "https://t.me/RBC_ua_news/209199",
   "clause": "FP-1 drones hit the VK data centre, Ruchyi oil depot and the Petersburg Oil Terminal (12.5 Mt/yr)"
  },
  {
   "claim_id": "rbc-20261018-firepoint-fp1-spb",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: RBC_ua_news",
   "url": "https://t.me/RBC_ua_news/209199",
   "clause": "fires at terminal and depot, serious damage to the data centre reported"
  },
  {
   "claim_id": "ria-20261018-belgorod-substation-fire",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://ria.ru/20261018/belgorod-2125254802.html",
   "clause": "WarTranslated / Exilenova+: substation hit"
  },
  {
   "claim_id": "rfmod-20261018-day-ship-50km-sw-odesa",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:ships",
   "value": 1,
   "qual": "single (no number stated)",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68329",
   "clause": "RF MoD: daytime UAV strike hit a dry-cargo ship ~50 km south-west of Odesa port said to carry military and dual-use cargo"
  },
  {
   "claim_id": "dnipro-ova-20261018-1830",
   "date": "2026-10-18",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 4,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32660",
   "clause": "Dnipropetrovsk OVA 18:30 18 Oct: over 20 RU attacks on four districts with drones, artillery and a guided bomb"
  },
  {
   "claim_id": "dnipro-ova-20261018-1830",
   "date": "2026-10-18",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 20.0,
   "qual": "over",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32660",
   "clause": "Dnipropetrovsk OVA 18:30 18 Oct: over 20 RU attacks on four districts with drones, artillery and a guided bomb"
  },
  {
   "claim_id": "dnipro-ova-20261018-1830",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32660",
   "clause": "one woman injured"
  },
  {
   "claim_id": "ukrinform-20261018-vinnytsia-critical-facility",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_casualties_unspec",
   "value": 7,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175695-russian-forces-launch-another-attack-on-critical-infrastructure-in-vinnytsia-region.html",
   "clause": "seven casualties"
  },
  {
   "claim_id": "rfmod-20261018-novomoskovsk-warehouse",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68333",
   "clause": "RF MoD: Rubikon Center crews hit a warehouse with supplies for UA forces in Novomoskovsk, north-east of Dnipro"
  },
  {
   "claim_id": "ukrinform-20261018-staryi-saltiv-fpv",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 4.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175702-russian-uav-strike-hits-car-in-kharkiv-region-injuring-two-people.html",
   "clause": "4 civilians injured by UAVs in the region over 24 h"
  },
  {
   "claim_id": "ria-20261018-belgorod-7-injured",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 7,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/rian_ru/348193",
   "clause": "RIA citing Belgorod regional operational HQ: seven people injured in Ukrainian attacks in Belgorod oblast (18 Oct)"
  },
  {
   "claim_id": "kherson-ova-20261018-second-death",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/khersonskaODA/69852",
   "clause": "toll from that attack now 2 killed, 35 injured"
  },
  {
   "claim_id": "kherson-ova-20261018-second-death",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 35.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/khersonskaODA/69852",
   "clause": "toll from that attack now 2 killed, 35 injured"
  },
  {
   "claim_id": "uags-20261018-2200-173-clashes",
   "date": "2026-10-18",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 22.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42623",
   "clause": "Pokrovsk direction 22 attacks (Matiasheve, Molodetske, toward Toretske, Vilne, Novyi Donbas, Svitle, Dobropillia, Myrne, Serhiivka, Filiia)"
  },
  {
   "claim_id": "ukrinform-20261018-ternopil-chortkiv-19k",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175721-russian-attacks-leave-19000-consumers-without-power-in-ternopil-region.html",
   "clause": "Ternopil RMA head Pastukh: UAV attacks over 24 h hit a large enterprise in Chortkiv and several energy facilities in Kremenets district"
  },
  {
   "claim_id": "suspilne-20261018-sumy-highrise",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: suspilnenews",
   "url": "https://t.me/suspilnenews/77747",
   "clause": "Suspilne evening roundup: RU forces struck a multi-storey building in Sumy"
  },
  {
   "claim_id": "suspilne-20261018-chernihiv-lyceum",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: suspilnenews",
   "url": "https://t.me/suspilnenews/77747",
   "clause": "Suspilne evening roundup: a RU UAV hit the grounds of a military lyceum in Chernihiv"
  },
  {
   "claim_id": "kharkiv-20261018-saltivskyi-uav",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://interfax.com.ua/news/general/1222090.html",
   "clause": "Kharkiv Mayor Terekhov (via Interfax-Ukraine): a RU UAV hit the roof of a 16-storey building in Saltivskyi district"
  },
  {
   "claim_id": "kharkiv-20261018-saltivskyi-uav",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://interfax.com.ua/news/general/1222090.html",
   "clause": "two people injured"
  },
  {
   "claim_id": "kyiv-20261018-ballistic-medcentre",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77750",
   "clause": "Kyiv Mayor Klitschko (via Suspilne / Kyiv Independent): ~23:00 Kyiv time 18 Oct RU ballistic strike hit a medical centre in Desnianskyi district and a non-residential building in Dniprovskyi district"
  },
  {
   "claim_id": "kyiv-20261018-ballistic-medcentre",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77750",
   "clause": "1 killed (KI: a 21-year-old woman), 2 injured, one hospitalised"
  },
  {
   "claim_id": "kyiv-20261018-ballistic-medcentre",
   "date": "2026-10-18",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77750",
   "clause": "1 killed (KI: a 21-year-old woman), 2 injured, one hospitalised"
  },
  {
   "claim_id": "dvamajors-20261018-kyiv-chp-claim",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: dva_majors",
   "url": "https://t.me/dva_majors/100665",
   "clause": "Two Majors: Kyiv partly without electricity after a series of strikes"
  },
  {
   "claim_id": "dvamajors-20261018-kyiv-chp-claim",
   "date": "2026-10-18",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: dva_majors",
   "url": "https://t.me/dva_majors/100665",
   "clause": "\"reports\" of strikes on CHP-5, CHP-6 and substations"
  },
  {
   "claim_id": "tass-20261019-dpr-8-attacks",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: TASS",
   "url": "https://tass.com/defense/2203889",
   "clause": "TASS citing the DPR occupation \"department documenting Ukraine's war crimes\": 8 Ukrainian attacks on the \"DPR\" in the past day (11 projectiles), 1 civilian killed, damage to a truck, a car and two infrastructure facilities"
  },
  {
   "claim_id": "tass-20261019-dpr-8-attacks",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 8.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "daily",
   "claimant": "Media report: TASS",
   "url": "https://tass.com/defense/2203889",
   "clause": "TASS citing the DPR occupation \"department documenting Ukraine's war crimes\": 8 Ukrainian attacks on the \"DPR\" in the past day (11 projectiles), 1 civilian killed, damage to a truck, a car and two infrastructure facilities"
  },
  {
   "claim_id": "kyiv-20261019-ballistic-metro-solomianskyi",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77764",
   "clause": "missile debris hit the first floor of a 25-storey building in Solomianskyi district (3 injured, treated on site) and a non-residential building"
  },
  {
   "claim_id": "kyiv-20261019-ballistic-metro-solomianskyi",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77764",
   "clause": "missile debris hit the first floor of a 25-storey building in Solomianskyi district (3 injured, treated on site) and a non-residential building"
  },
  {
   "claim_id": "zp-ova-20261019-738-strikes",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 738.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49069",
   "clause": "Zaporizhzhia OVA (Fedorov): over the day RU made 738 strikes on 56 settlements: 22 airstrikes (incl"
  },
  {
   "claim_id": "zp-ova-20261019-738-strikes",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 22.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49069",
   "clause": "Zaporizhzhia OVA (Fedorov): over the day RU made 738 strikes on 56 settlements: 22 airstrikes (incl"
  },
  {
   "claim_id": "zp-ova-20261019-738-strikes",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 211.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49069",
   "clause": "Zaporizhzhia city, 5 MLRS attacks on Orikhiv and Novoselivka, 211 artillery strikes"
  },
  {
   "claim_id": "zp-ova-20261019-738-strikes",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 5.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49069",
   "clause": "Zaporizhzhia city, 5 MLRS attacks on Orikhiv and Novoselivka, 211 artillery strikes"
  },
  {
   "claim_id": "zp-ova-20261019-738-strikes",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49069",
   "clause": "3 injured in Zaporizhzhia district"
  },
  {
   "claim_id": "meduza-20261019-spb-1-killed-15-injured",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: Meduza",
   "url": "https://meduza.io/en/feature/2026/10/19/in-pictures-biggest-ukrainian-drone-attack-yet-on-st-petersburg-and-leningrad-region-kills-1-injures-15-and-sparks-many-fires",
   "clause": "Meduza: the 18 Oct Ukrainian drone attack on St Petersburg and Leningrad oblast (largest there so far) hit a port oil terminal, the Ruchyi oil depot, an Ozon warehouse, a VK data centre, the Vostochnaya substation, a cable-stayed bridge and a hospital"
  },
  {
   "claim_id": "meduza-20261019-spb-1-killed-15-injured",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: Meduza",
   "url": "https://meduza.io/en/feature/2026/10/19/in-pictures-biggest-ukrainian-drone-attack-yet-on-st-petersburg-and-leningrad-region-kills-1-injures-15-and-sparks-many-fires",
   "clause": "Meduza: the 18 Oct Ukrainian drone attack on St Petersburg and Leningrad oblast (largest there so far) hit a port oil terminal, the Ruchyi oil depot, an Ozon warehouse, a VK data centre, the Vostochnaya substation, a cable-stayed bridge and a hospital"
  },
  {
   "claim_id": "meduza-20261019-spb-1-killed-15-injured",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Meduza",
   "url": "https://meduza.io/en/feature/2026/10/19/in-pictures-biggest-ukrainian-drone-attack-yet-on-st-petersburg-and-leningrad-region-kills-1-injures-15-and-sparks-many-fires",
   "clause": "1 killed, 15 injured"
  },
  {
   "claim_id": "meduza-20261019-spb-1-killed-15-injured",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 15.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Meduza",
   "url": "https://meduza.io/en/feature/2026/10/19/in-pictures-biggest-ukrainian-drone-attack-yet-on-st-petersburg-and-leningrad-region-kills-1-injures-15-and-sparks-many-fires",
   "clause": "1 killed, 15 injured"
  },
  {
   "claim_id": "dnipro-ova-20261019-0800",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32672",
   "clause": "in Dnipro infrastructure and private houses damaged, three homes destroyed, an 84-year-old woman hospitalised"
  },
  {
   "claim_id": "uags-20261019-0800-204-clashes",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 30.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42625",
   "clause": "Pokrovsk direction 30 attacks (Matiasheve, Molodetske, toward Toretske, Vilne, Novyi Donbas, Svitle, Dobropillia, Myrne, Serhiivka, Filiia)"
  },
  {
   "claim_id": "uags-20261019-0800-204-clashes",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 9154.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42625",
   "clause": "273 KABs, 9154 kamikaze drones used by RU the previous day"
  },
  {
   "claim_id": "uags-20261019-0800-204-clashes",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 273.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42625",
   "clause": "273 KABs, 9154 kamikaze drones used by RU the previous day"
  },
  {
   "claim_id": "kherson-ova-20261019-daily",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/khersonskaODA/69854",
   "clause": "4 private houses damaged, 1 child injured"
  },
  {
   "claim_id": "kherson-ova-20261019-daily",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/khersonskaODA/69854",
   "clause": "4 private houses damaged, 1 child injured"
  },
  {
   "claim_id": "kherson-ova-20261019-daily",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 44.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/khersonskaODA/69854",
   "clause": "Kherson 17 Oct airstrike injured rose to 44. Unverified / EST"
  },
  {
   "claim_id": "kyiv-20261019-dsns-toll-1-killed-8-injured",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77772",
   "clause": "Kyiv SES via Suspilne: overnight RU attack on Kyiv killed 1 and injured at least 8 in three districts"
  },
  {
   "claim_id": "kyiv-20261019-dsns-toll-1-killed-8-injured",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 8.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77772",
   "clause": "Kyiv SES via Suspilne: overnight RU attack on Kyiv killed 1 and injured at least 8 in three districts"
  },
  {
   "claim_id": "kyiv-20261019-dsns-toll-1-killed-8-injured",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77772",
   "clause": "fire in a 3-storey non-residential building in Desnianskyi, a metro station damaged"
  },
  {
   "claim_id": "kyiv-20261019-dsns-toll-1-killed-8-injured",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77772",
   "clause": "Later reports: Cosmo Multimall (Shuliavka) heavily damaged, ice arena \"Shalett\" and NEURC building damaged"
  },
  {
   "claim_id": "kursk-gov-20261019-258-uav",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 258.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/dva_majors/100671",
   "clause": "Kursk governor (relayed by Two Majors): 258 UA UAVs downed 09:00 18→19 Oct"
  },
  {
   "claim_id": "kursk-gov-20261019-258-uav",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 72.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/dva_majors/100671",
   "clause": "72 artillery attacks on evacuated areas, 15 drone-dropped munition attacks"
  },
  {
   "claim_id": "uaaf-20261019-night-247-down",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 269.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/GeneralStaffZSU/42627",
   "clause": "UA Air Force (via General Staff) 19 Oct 09:00: overnight RU attacked with Iskander-M/S-400 ballistic missiles, Iskander-K cruise missiles and 269 Shahed-type UAVs (59 jet-powered), S-8000 Banderol, Gerbera and Parodiya decoys"
  },
  {
   "claim_id": "uaaf-20261019-night-247-down",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 243.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/GeneralStaffZSU/42627",
   "clause": "247 targets downed/suppressed (4 Iskander-K, 243 UAVs)"
  },
  {
   "claim_id": "rfmod-20261019-kyiv-strike-targets",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68342",
   "clause": "RF MoD: overnight massive strike hit in Kyiv the \"Data Group\" data centre, the Fire Point logistics hub (claimed UAV components and FP-5 Flamingo engines), the Khimvolokno plant (claimed UAV warhead components) and the Kyiv locomotive depot (claimed FP-5/FP-9 "
  },
  {
   "claim_id": "kushuhum-20261019-kab-1-killed",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 4,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/zoda_gov_ua/68505",
   "clause": "Zaporizhzhia OVA: in the morning RU forces hit Kushuhum with four guided aerial bombs"
  },
  {
   "claim_id": "kushuhum-20261019-kab-1-killed",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/zoda_gov_ua/68505",
   "clause": "a 57-year-old man killed, nearby private houses damaged"
  },
  {
   "claim_id": "datagroup-20261019-kyiv-dc-destroyed",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/RBC_ua_news/209259",
   "clause": "RBC-Ukraine relaying Datagroup: a RU ballistic strike destroyed the Datagroup data centre in Kyiv"
  },
  {
   "claim_id": "datagroup-20261019-kyiv-dc-destroyed",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/RBC_ua_news/209259",
   "clause": "RF MoD lists the \"Data Group\" data centre among its targets"
  },
  {
   "claim_id": "saldo-20261019-dnepr-3-strongpoints",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "captured",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Russian-installed occupation officials",
   "url": "https://t.me/SALDO_VGA/17924",
   "clause": "two UA servicemen captured"
  },
  {
   "claim_id": "zelensky-20261019-16-ballistic-kyiv",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 16.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21425",
   "clause": "Zelensky 19 Oct: RU used 16 ballistic missiles overnight in a targeted attack on Kyiv and Kyiv oblast, plus 200+ drones incl. jet Shaheds"
  },
  {
   "claim_id": "zelensky-20261019-16-ballistic-kyiv",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21425",
   "clause": "energy facilities hit in 11 oblasts, >10 energy objects damaged, at least 550,000 families without power"
  },
  {
   "claim_id": "voindv-20261019-omelnyk-38gmrb",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:armor",
   "value": 14.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/voin_dv/21650",
   "clause": "claims >400 buildings cleared, 27 km² defence area, losses to UA 92nd OShBr (company+), 14 AFVs, 30+ robotic platforms, 75 Baba-Yaga hexacopters"
  },
  {
   "claim_id": "suspilne-20261019-sumy-180-kabs-8dshv",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 180.0,
   "qual": "~",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://suspilne.media/sumy/1431049-za-persu-polovinu-zovtna-sumsina-zaznala-majze-180-udariv-kabami-8-korpus-dsv/",
   "clause": "UA 8th Air Assault Corps (via Suspilne Sumy): ~180 KAB strikes on Sumy oblast in the first half of October (June 503, July 390, Aug 414, Sept 398)"
  },
  {
   "claim_id": "kharkiv-ova-20261019-weekly",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 6.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26785",
   "clause": "141 injured (10 children), 6 killed"
  },
  {
   "claim_id": "kharkiv-ova-20261019-weekly",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 141.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26785",
   "clause": "141 injured (10 children), 6 killed"
  },
  {
   "claim_id": "kharkiv-ova-20261019-weekly",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 651.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26785",
   "clause": "RU used 27 missiles, 18 KABs, 2 FABs, 14 Geran-2, 4 Lancet, 13 Molniya, 53 FPV and 651 other UAVs"
  },
  {
   "claim_id": "kharkiv-ova-20261019-weekly",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 27.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26785",
   "clause": "RU used 27 missiles, 18 KABs, 2 FABs, 14 Geran-2, 4 Lancet, 13 Molniya, 53 FPV and 651 other UAVs"
  },
  {
   "claim_id": "kharkiv-ova-20261019-weekly",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 18.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26785",
   "clause": "RU used 27 missiles, 18 KABs, 2 FABs, 14 Geran-2, 4 Lancet, 13 Molniya, 53 FPV and 651 other UAVs"
  },
  {
   "claim_id": "kryvyi-rih-20261019-2-killed-7-injured",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32691",
   "clause": "Dnipropetrovsk OVA: RU attack on an industrial enterprise in Kryvyi Rih killed two men"
  },
  {
   "claim_id": "kryvyi-rih-20261019-2-killed-7-injured",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 7,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32691",
   "clause": "injured rose to seven incl. a 15-year-old"
  },
  {
   "claim_id": "ki-20261019-4-killed-55-injured",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 4.0,
   "qual": "at least",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/3-killed-53-injured-in-russian-attacks-across-ukraine-over-past-day-as-550-000-households-lose-power/",
   "clause": "Kyiv Independent roll-up: at least 4 killed and 55 injured across Ukraine over the past day per regional authorities"
  },
  {
   "claim_id": "ki-20261019-4-killed-55-injured",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 55.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/3-killed-53-injured-in-russian-attacks-across-ukraine-over-past-day-as-550-000-households-lose-power/",
   "clause": "Kyiv Independent roll-up: at least 4 killed and 55 injured across Ukraine over the past day per regional authorities"
  },
  {
   "claim_id": "kherson-ova-20261019-novovorontsovka-drone",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/khersonskaODA/69878",
   "clause": "Kherson OVA: around 14:00 a RU drone attack in Novovorontsovka injured two people incl. a 17-year-old (Suspilne later: three injured)"
  },
  {
   "claim_id": "kherson-ova-20261019-novovorontsovka-drone",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/khersonskaODA/69878",
   "clause": "Kherson OVA: around 14:00 a RU drone attack in Novovorontsovka injured two people incl. a 17-year-old (Suspilne later: three injured)"
  },
  {
   "claim_id": "rfmod-20261019-daily-summary-405-uav",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 405.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://tass.com/politics/2204097",
   "clause": "405 UAVs downed in 24 h"
  },
  {
   "claim_id": "rfmod-20261019-daily-summary-405-uav",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "casualties_unspec",
   "value": 1235.0,
   "qual": "~",
   "target": "Ukraine",
   "civilian": false,
   "scope": "daily",
   "claimant": "RU MoD",
   "url": "https://tass.com/politics/2204097",
   "clause": "UA losses ~1,235. Unverified / EST"
  },
  {
   "claim_id": "rfmod-20261019-yug-5-ugv-kramatorsk",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:vehicles",
   "value": 5,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68347",
   "clause": "RF MoD: Yug (Southern) GoF UAS operators destroyed five Ukrainian ground robotic systems on the Kramatorsk direction"
  },
  {
   "claim_id": "zelensky-20261019-28-substations-starlink",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21435",
   "clause": "Zelensky after a regional call: 28 substations and other important energy facilities hit in the latest wave"
  },
  {
   "claim_id": "irpin-20261019-1-killed-19-injured",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 19.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175969-russian-attack-on-irpin-kills-one-person-and-injures-19-including-nine-children.html",
   "clause": "Kyiv OVA head Tkachenko (via Ukrinform): RU attack on Irpin killed a woman and injured 19 incl. 9 children"
  },
  {
   "claim_id": "irpin-20261019-1-killed-19-injured",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4175969-russian-attack-on-irpin-kills-one-person-and-injures-19-including-nine-children.html",
   "clause": "86 structures damaged (~70 private homes, 5 high-rises)"
  },
  {
   "claim_id": "lnr-20261019-pasechnik-funeral-car-3-killed",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "killed",
   "value": 3.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: tass_agency",
   "url": "https://t.me/tass_agency/401113",
   "clause": "TASS: RU-installed LNR head Pasechnik says 3 killed and 2 injured when AFU struck a funeral-service vehicle carrying a deceased person"
  },
  {
   "claim_id": "lnr-20261019-pasechnik-funeral-car-3-killed",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "wounded",
   "value": 2.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: tass_agency",
   "url": "https://t.me/tass_agency/401113",
   "clause": "TASS: RU-installed LNR head Pasechnik says 3 killed and 2 injured when AFU struck a funeral-service vehicle carrying a deceased person"
  },
  {
   "claim_id": "wargonzo-20261019-lysychansk-luhansk-road-uav",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 3.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: wargonzo",
   "url": "https://t.me/wargonzo/37745",
   "clause": "WarGonzo relaying LNR head Pasechnik: besides the strike on a funeral-service car in Pervomaisk (3 killed), a UA UAV hit a truck on the Lysychansk–Luhansk road, injuring the driver"
  },
  {
   "claim_id": "ukrinform-20261019-nova-vodolaha-first-report",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: ukrinform_news",
   "url": "https://t.me/ukrinform_news/171794",
   "clause": "two women and an infant killed, at least 15 injured incl. 7 children"
  },
  {
   "claim_id": "ukrinform-20261019-nova-vodolaha-first-report",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 15.0,
   "qual": "at least",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: ukrinform_news",
   "url": "https://t.me/ukrinform_news/171794",
   "clause": "two women and an infant killed, at least 15 injured incl. 7 children"
  },
  {
   "claim_id": "uaaf-20261018-418-of-463-uav",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 463.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42629",
   "clause": "UA General Staff: during 18 Oct RU used 463 strike UAVs (Shahed-131/136/238, Parodiya, Gerbera, Banderol/Dan-T, Italmas)"
  },
  {
   "claim_id": "dnipro-ova-20261019-1830-summary",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32693",
   "clause": "Dnipropetrovsk OVA 18:30 19 Oct: two killed and ten injured incl. a child"
  },
  {
   "claim_id": "dnipro-ova-20261019-1830-summary",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32693",
   "clause": "2 killed), Zelenodolsk hromada, Nikopol district (Marhanets, Chervonohryhorivka, Pokrovske hromadas)"
  },
  {
   "claim_id": "kherson-20261019-7-injured",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 7,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-ato/4176028-russian-attacks-in-kherson-region-injure-seven-people-over-past-day.html",
   "clause": "Ukrinform: RU attacks in Kherson region injured seven people over the past day"
  },
  {
   "claim_id": "zelensky-20261019-nova-vodolaha-park-6-killed",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 6,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21437",
   "clause": "six killed incl. children (a girl of ~1 year and an 11-year-old), 14 injured incl. six more children"
  },
  {
   "claim_id": "zelensky-20261019-nova-vodolaha-park-6-killed",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 14.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21437",
   "clause": "six killed incl. children (a girl of ~1 year and an 11-year-old), 14 injured incl. six more children"
  },
  {
   "claim_id": "kharkiv-ova-20261019-nova-vodolaha-final-toll",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 4,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26802",
   "clause": "Kharkiv OVA head Syniehubov (updated): in Nova Vodolaha two children (girls aged 11 and 1.2) and four adults were killed"
  },
  {
   "claim_id": "kharkiv-ova-20261019-nova-vodolaha-final-toll",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 15.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26802",
   "clause": "15 injured incl. 7 children"
  },
  {
   "claim_id": "milinfo-20261019-rubikon-geran4-novomoskovsk-pidhorodne",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: milinfolive",
   "url": "https://t.me/milinfolive/181787",
   "clause": "first footage shows strikes on a warehouse in Novomoskovsk and the Epicentr shopping centre in Pidhorodne (Dnipropetrovsk obl.)"
  },
  {
   "claim_id": "rfmod-20261019-tsentr-3-uav-cps-dnipro-dir",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 3,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68354",
   "clause": "RF MoD: unmanned-systems crews of the Tsentr group of forces destroyed three AFU UAV control points on the Dnipropetrovsk direction (places not named)"
  },
  {
   "claim_id": "khmelnytskyi-20261019-2-killed",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Interfax-Ukraine",
   "url": "https://interfax.com.ua/news/general/1222811.html",
   "clause": "Interfax-Ukraine (oblast administration): two elderly women killed in a RU attack on residential buildings in Khmelnytskyi"
  },
  {
   "claim_id": "khmelnytskyi-20261019-2-killed",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Interfax-Ukraine",
   "url": "https://interfax.com.ua/news/general/1222811.html",
   "clause": "Interfax-Ukraine (oblast administration): two elderly women killed in a RU attack on residential buildings in Khmelnytskyi"
  },
  {
   "claim_id": "khmelnytskyi-20261019-2-killed",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Interfax-Ukraine",
   "url": "https://interfax.com.ua/news/general/1222811.html",
   "clause": "3 injured reported earlier"
  },
  {
   "claim_id": "suspilne-20261019-daily-toll-14-killed",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 14.0,
   "qual": "at least",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: suspilnenews",
   "url": "https://t.me/suspilnenews/77817",
   "clause": "Suspilne daily roll-up 19 Oct: at least 14 killed and more than 75 injured by RU attacks"
  },
  {
   "claim_id": "suspilne-20261019-daily-toll-14-killed",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 75.0,
   "qual": "more than",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: suspilnenews",
   "url": "https://t.me/suspilnenews/77817",
   "clause": "Suspilne daily roll-up 19 Oct: at least 14 killed and more than 75 injured by RU attacks"
  },
  {
   "claim_id": "suspilne-20261019-daily-toll-14-killed",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 6.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: suspilnenews",
   "url": "https://t.me/suspilnenews/77817",
   "clause": "Kharkiv obl. 6 killed (Nova Vodolaha), Khmelnytskyi 2, Dnipropetrovsk obl. 2, Donetsk obl. 1 (a car hit on the Donetske–Sloviansk road), Kyiv obl. 2 (Irpin, Obukhiv district), Kyiv city 1"
  },
  {
   "claim_id": "suspilne-20261019-daily-toll-14-killed",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 7.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: suspilnenews",
   "url": "https://t.me/suspilnenews/77817",
   "clause": "Kherson obl. 7 injured, Rivne 3 injured"
  },
  {
   "claim_id": "suspilne-20261019-daily-toll-14-killed",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: suspilnenews",
   "url": "https://t.me/suspilnenews/77817",
   "clause": "Kherson obl. 7 injured, Rivne 3 injured"
  },
  {
   "claim_id": "rfmod-20261019-itogi-omelnyk-velykomykhailivka",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68356",
   "clause": "massed strike on defence industry, cruise-missile/UAV storage and a data centre claimed"
  },
  {
   "claim_id": "obukhiv-20261019-enterprise-1-killed-6-injured",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://interfax.com.ua/news/general/1222822.html",
   "clause": "Interfax-Ukraine (Kyiv OVA): RU attack on an enterprise in Obukhiv killed one person and injured six"
  },
  {
   "claim_id": "obukhiv-20261019-enterprise-1-killed-6-injured",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 6,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://interfax.com.ua/news/general/1222822.html",
   "clause": "Interfax-Ukraine (Kyiv OVA): RU attack on an enterprise in Obukhiv killed one person and injured six"
  },
  {
   "claim_id": "kovel-20261019-epicentr-fire",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Suspilne Lutsk",
   "url": "https://suspilne.media/lutsk/1431723-vnaslidok-ataki-rf-u-koveli-stalasa-pozeza-na-teritorii-budivelnogo-gipermarketu/",
   "clause": "Suspilne Lutsk: on the evening of 19 Oct an RU drone attack caused a fire at the Epicentr building-supplies hypermarket in Kovel (per local residents)"
  },
  {
   "claim_id": "uags-20261019-2200-177-clashes",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 4911.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42630",
   "clause": "1 missile and 47 air strikes, 171 KABs, 4911 kamikaze drones, 1775 shellings"
  },
  {
   "claim_id": "uags-20261019-2200-177-clashes",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 1.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42630",
   "clause": "1 missile and 47 air strikes, 171 KABs, 4911 kamikaze drones, 1775 shellings"
  },
  {
   "claim_id": "uags-20261019-2200-177-clashes",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 47.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42630",
   "clause": "1 missile and 47 air strikes, 171 KABs, 4911 kamikaze drones, 1775 shellings"
  },
  {
   "claim_id": "uags-20261019-2200-177-clashes",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 171.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42630",
   "clause": "1 missile and 47 air strikes, 171 KABs, 4911 kamikaze drones, 1775 shellings"
  },
  {
   "claim_id": "uags-20261019-2200-177-clashes",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:artillery",
   "value": 1775.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42630",
   "clause": "1 missile and 47 air strikes, 171 KABs, 4911 kamikaze drones, 1775 shellings"
  },
  {
   "claim_id": "uags-20261019-2200-177-clashes",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 9.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42630",
   "clause": "Lyman 9 attacks repelled (Novomykhailivka, Druzheliubivka, Chervonyi Stav, Zelena Dolyna, Lyman)"
  },
  {
   "claim_id": "irpin-20261019-ecosoft-planeta-ballistic",
   "date": "2026-10-19",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 16.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: Kyiv Post",
   "url": "https://www.kyivpost.com/post/87548",
   "clause": "Kyiv Post: RU ballistic missiles struck facilities of water-purification company Ecosoft and polymer maker Planeta Plastic overnight 18→19 Oct, part of an attack with 16 missiles and 200+ drones (Liveuamap places NVO Ekosoft in Irpin)"
  },
  {
   "claim_id": "lviv-20261019-energy-object-drone-x2",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://suspilne.media/lviv/1431731-na-lvivsini-pid-cas-povitranoi-trivogi-19-zovtna-pracuvala-ppo/",
   "clause": "Suspilne Lviv citing OVA head Kozytskyi: on the evening of 19 Oct an RU drone attacked a critical energy infrastructure object in Lviv oblast, then struck the same object again ~40 min later"
  },
  {
   "claim_id": "kherson-20261019-24-settlements-child-injured",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-society/4175791-russian-shelling-in-kherson-region-injures-child-as-forces-attack-over-20-settlements-in-past-24-hours.html",
   "clause": "a child injured, four private homes damaged"
  },
  {
   "claim_id": "biletsky-20261019-vivaldi-summary-277km2",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "casualties_unspec",
   "value": 8000.0,
   "qual": ">",
   "target": "Russia",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://suspilne.media/donbas/1431767-bileckij-pidsumuvav-vivaldi-so-rozkazav-pro-slovansk-kramatorsk-taemnicu-ta-uspih-na-lugansini/",
   "clause": "RU losses >8,000 during the offensive, ~270 POWs incl. >20 officers"
  },
  {
   "claim_id": "biletsky-20261019-vivaldi-summary-277km2",
   "date": "2026-10-19",
   "kind": "casualty",
   "metricKey": "captured",
   "value": 270.0,
   "qual": "~",
   "target": "Russia",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://suspilne.media/donbas/1431767-bileckij-pidsumuvav-vivaldi-so-rozkazav-pro-slovansk-kramatorsk-taemnicu-ta-uspih-na-lugansini/",
   "clause": "RU losses >8,000 during the offensive, ~270 POWs incl. >20 officers"
  },
  {
   "claim_id": "sumy-20261020-zarichnyi-apartment-drone",
   "date": "2026-10-19",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://interfax.com.ua/news/general/1222846.html",
   "clause": "Interfax-Ukraine / RBC-Ukraine: acting Sumy mayor Artem Kobzar says a RU drone hit an apartment building at about 02:00 local on 20 Oct (Zarichnyi district per RBC)"
  },
  {
   "claim_id": "dpr-20261020-14-attacks-2-injured",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: TASS",
   "url": "https://tass.com/politics/2204409",
   "clause": "two civilians injured"
  },
  {
   "claim_id": "dpr-20261020-14-attacks-2-injured",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: TASS",
   "url": "https://tass.com/politics/2204409",
   "clause": "13 houses, 7 civilian infrastructure objects and vehicles damaged"
  },
  {
   "claim_id": "zaporizhzhia-ova-20261020-848-strikes",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 848.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49077",
   "clause": "Zaporizhzhia OVA (Fedorov): over the past day RU made 848 strikes on 52 settlements"
  },
  {
   "claim_id": "zaporizhzhia-ova-20261020-848-strikes",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 613.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49077",
   "clause": "14 air strikes, 613 UAVs (mostly FPV), 2 MLRS and 219 artillery strikes"
  },
  {
   "claim_id": "zaporizhzhia-ova-20261020-848-strikes",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 14.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49077",
   "clause": "14 air strikes, 613 UAVs (mostly FPV), 2 MLRS and 219 artillery strikes"
  },
  {
   "claim_id": "zaporizhzhia-ova-20261020-848-strikes",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 219.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49077",
   "clause": "14 air strikes, 613 UAVs (mostly FPV), 2 MLRS and 219 artillery strikes"
  },
  {
   "claim_id": "zaporizhzhia-ova-20261020-848-strikes",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49077",
   "clause": "one killed, five injured in Zaporizhzhia city and district"
  },
  {
   "claim_id": "zaporizhzhia-ova-20261020-848-strikes",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 5,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49077",
   "clause": "one killed, five injured in Zaporizhzhia city and district"
  },
  {
   "claim_id": "zaporizhzhia-ova-20261020-848-strikes",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49077",
   "clause": "Later on 20 Oct a strike on a warehouse in Zaporizhzhia injured two"
  },
  {
   "claim_id": "zaporizhzhia-ova-20261020-848-strikes",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49077",
   "clause": "Later on 20 Oct a strike on a warehouse in Zaporizhzhia injured two"
  },
  {
   "claim_id": "kyivobl-20261019-obukhiv-warehouse-3-killed",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 3,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77836",
   "clause": "Suspilne / DSNS: three people killed and six injured in a RU strike on a production-and-warehouse building in Obukhiv district, Kyiv obl., on the evening of 19 Oct"
  },
  {
   "claim_id": "kyivobl-20261019-obukhiv-warehouse-3-killed",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77836",
   "clause": "Suspilne / DSNS: three people killed and six injured in a RU strike on a production-and-warehouse building in Obukhiv district, Kyiv obl., on the evening of 19 Oct"
  },
  {
   "claim_id": "kherson-ova-20261020-daily-18-injured",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 18.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/khersonskaODA/69916",
   "clause": "18 injured incl. a child"
  },
  {
   "claim_id": "kherson-ova-20261020-daily-18-injured",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 48.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/khersonskaODA/69916",
   "clause": "Kherson 17 Oct air-strike toll rose to 48 injured"
  },
  {
   "claim_id": "uags-20261020-0800-206-clashes",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 8784.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42633",
   "clause": "RU used 1 missile and 63 air strikes (217 KABs), 8,784 kamikaze drones, 2,607 shellings"
  },
  {
   "claim_id": "uags-20261020-0800-206-clashes",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42633",
   "clause": "RU used 1 missile and 63 air strikes (217 KABs), 8,784 kamikaze drones, 2,607 shellings"
  },
  {
   "claim_id": "uags-20261020-0800-206-clashes",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 63.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42633",
   "clause": "RU used 1 missile and 63 air strikes (217 KABs), 8,784 kamikaze drones, 2,607 shellings"
  },
  {
   "claim_id": "uags-20261020-0800-206-clashes",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 217.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42633",
   "clause": "RU used 1 missile and 63 air strikes (217 KABs), 8,784 kamikaze drones, 2,607 shellings"
  },
  {
   "claim_id": "uags-20261020-0800-206-clashes",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:artillery",
   "value": 2607.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42633",
   "clause": "RU used 1 missile and 63 air strikes (217 KABs), 8,784 kamikaze drones, 2,607 shellings"
  },
  {
   "claim_id": "uags-20261020-0800-206-clashes",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 26.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42633",
   "clause": "South Slobozhanskyi 26 attacks (Kutkivka, Lyman, Starytsia, Mala Vovcha, Izbytske, Vilcha, Okhrimivka, Zakharivka, Karaichne, Bochkove, Zybyne, Radkivka)"
  },
  {
   "claim_id": "uaaf-20261020-115-of-165-uav",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 165.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/GeneralStaffZSU/42634",
   "clause": "UA Defence Forces / Air Force: overnight into 20 Oct (from 18:00 19 Oct) Russia launched 165 strike UAVs (105 jet-powered Shaheds) plus Gerbera/decoys from Orel, Kursk, Primorsko-Akhtarsk, occupied Donetsk and Crimea"
  },
  {
   "claim_id": "voindv-20261020-tymoshivka-114-mrr",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:armor",
   "value": 8.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/voin_dv/21667",
   "clause": "claims a 6 km² defence area taken and a company of the UA 225th Separate Assault Regiment destroyed, plus 8 AFVs, 17 UGVs and 33 Baba Yaga hexacopters"
  },
  {
   "claim_id": "voindv-20261020-tymoshivka-114-mrr",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:vehicles",
   "value": 17.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/voin_dv/21667",
   "clause": "claims a 6 km² defence area taken and a company of the UA 225th Separate Assault Regiment destroyed, plus 8 AFVs, 17 UGVs and 33 Baba Yaga hexacopters"
  },
  {
   "claim_id": "wargonzo-20261020-donetsk-voroshylovskyi-drones",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: wargonzo",
   "url": "https://t.me/wargonzo/37762",
   "clause": "administrative and residential buildings and vehicles damaged, one civilian injured, part of the city without power"
  },
  {
   "claim_id": "wargonzo-20261020-donetsk-voroshylovskyi-drones",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: wargonzo",
   "url": "https://t.me/wargonzo/37762",
   "clause": "administrative and residential buildings and vehicles damaged, one civilian injured, part of the city without power"
  },
  {
   "claim_id": "wargonzo-20261020-donetsk-voroshylovskyi-drones",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: wargonzo",
   "url": "https://t.me/wargonzo/37762",
   "clause": "UA sources report a data centre at 60 Postysheva St was destroyed"
  },
  {
   "claim_id": "kramatorsk-20261020-3-heat-workers-killed",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 3,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://suspilne.media/donbas/1432095-u-kramatorsku-vnaslidok-rosijskogo-aviaudaru-zaginuli-troe-pracivnikiv-teplopostacalnogo-pidpriemstva/",
   "clause": "Suspilne Donbas: a RU guided-bomb strike on Kramatorsk on 20 Oct killed three employees of a heat-supply company checking networks before the heating season"
  },
  {
   "claim_id": "kramatorsk-20261020-3-heat-workers-killed",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 5,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://suspilne.media/donbas/1432095-u-kramatorsku-vnaslidok-rosijskogo-aviaudaru-zaginuli-troe-pracivnikiv-teplopostacalnogo-pidpriemstva/",
   "clause": "five civilians injured (Kramatorskteploenergo, Kramatorsk MVA, Donetsk prosecutors)"
  },
  {
   "claim_id": "kursk-20261020-oktyabrsky-energy-17k",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/interfaxonline/80397",
   "clause": "Kursk governor Khinshtein (Interfax/TASS): a UA fixed-wing UAV attacked an energy facility in Oktyabrsky district"
  },
  {
   "claim_id": "kursk-20261020-oktyabrsky-energy-17k",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/interfaxonline/80397",
   "clause": "three men injured"
  },
  {
   "claim_id": "rivne-20261020-dubno-shopping-centre",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/RBC_ua_news/209388",
   "clause": "RBC-Ukraine / Rivne OVA: a RU strike hit a shopping centre in Dubno, three injured (two hospitalised)"
  },
  {
   "claim_id": "rivne-20261020-dubno-shopping-centre",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/RBC_ua_news/209388",
   "clause": "RBC-Ukraine / Rivne OVA: a RU strike hit a shopping centre in Dubno, three injured (two hospitalised)"
  },
  {
   "claim_id": "rivne-20261020-dubno-shopping-centre",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/RBC_ua_news/209388",
   "clause": "RU channels show a jet Geran hitting an Epicentr store in Dubno"
  },
  {
   "claim_id": "miroshnik-20261020-belgorod-1300-attacks",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 4,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://tass.com/politics/2204633",
   "clause": "UA forces attacked Belgorod obl. ~1,300 times last week, killing four civilians and injuring 55"
  },
  {
   "claim_id": "miroshnik-20261020-belgorod-1300-attacks",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 55.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://tass.com/politics/2204633",
   "clause": "UA forces attacked Belgorod obl. ~1,300 times last week, killing four civilians and injuring 55"
  },
  {
   "claim_id": "miroshnik-20261020-belgorod-1300-attacks",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 22.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://tass.com/politics/2204633",
   "clause": "22 RU civilians killed and 211 injured across Russia in the week (8,200 strikes)"
  },
  {
   "claim_id": "miroshnik-20261020-belgorod-1300-attacks",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 211.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://tass.com/politics/2204633",
   "clause": "22 RU civilians killed and 211 injured across Russia in the week (8,200 strikes)"
  },
  {
   "claim_id": "miroshnik-20261020-belgorod-1300-attacks",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 8200.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://tass.com/politics/2204633",
   "clause": "22 RU civilians killed and 211 injured across Russia in the week (8,200 strikes)"
  },
  {
   "claim_id": "dnipro-ova-20261020-warehouses-2-killed",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32717",
   "clause": "Dnipropetrovsk OVA (Hanzha): two people killed and three injured (one 27-year-old with severe burns) in a RU attack on warehouses in the Dnipro suburbs"
  },
  {
   "claim_id": "dnipro-ova-20261020-warehouses-2-killed",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32717",
   "clause": "Dnipropetrovsk OVA (Hanzha): two people killed and three injured (one 27-year-old with severe burns) in a RU attack on warehouses in the Dnipro suburbs"
  },
  {
   "claim_id": "dnipro-ova-20261020-warehouses-2-killed",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32717",
   "clause": "RU channels show Geran strikes on \"Nova Liniia\" building-hypermarket warehouses in Dnipro"
  },
  {
   "claim_id": "group10-gur-20261020-sumy-600ha",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "killed",
   "value": 108.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://suspilne.media/sumy/1432179-29-polonenih-armijciv-rf-108-likvidovanih-cilej-so-vidomo-pro-specoperaciu-bijciv-group-10-na-sumsini/",
   "clause": "Suspilne Sumy: HUR special unit GROUP 10 cleared more than 600 ha of forest of RU troops in Sumy obl. and handed the positions to the Defence Forces, taking 29 RU prisoners, killing 108 and hitting 1,100+ targets"
  },
  {
   "claim_id": "group10-gur-20261020-sumy-600ha",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "captured",
   "value": 29.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://suspilne.media/sumy/1432179-29-polonenih-armijciv-rf-108-likvidovanih-cilej-so-vidomo-pro-specoperaciu-bijciv-group-10-na-sumsini/",
   "clause": "Suspilne Sumy: HUR special unit GROUP 10 cleared more than 600 ha of forest of RU troops in Sumy obl. and handed the positions to the Defence Forces, taking 29 RU prisoners, killing 108 and hitting 1,100+ targets"
  },
  {
   "claim_id": "ki-20261020-16-killed-69-injured",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 16.0,
   "qual": "at least",
   "target": "Unclear",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/at-least-14-killed-71-injured-in-russian-attacks-across-ukraine-over-past-day-as-russian-drone-kills-2-children-in-park/",
   "clause": "Kyiv Independent roll-up: at least 16 killed and 69 injured across Ukraine over the past day (Nova Vodolaha park 6 incl. 2 children"
  },
  {
   "claim_id": "ki-20261020-16-killed-69-injured",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 69.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/at-least-14-killed-71-injured-in-russian-attacks-across-ukraine-over-past-day-as-russian-drone-kills-2-children-in-park/",
   "clause": "Kyiv Independent roll-up: at least 16 killed and 69 injured across Ukraine over the past day (Nova Vodolaha park 6 incl. 2 children"
  },
  {
   "claim_id": "ki-20261020-16-killed-69-injured",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 12.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/at-least-14-killed-71-injured-in-russian-attacks-across-ukraine-over-past-day-as-russian-drone-kills-2-children-in-park/",
   "clause": "Ukrenergo reports new outages in 12 oblasts after attacks on energy"
  },
  {
   "claim_id": "rfmod-20261020-daily-summary-383-uav",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 383.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://tass.com/politics/2204695",
   "clause": "383 UAVs downed in 24 h"
  },
  {
   "claim_id": "milinfo-20261020-yandex-kaluga-dc",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: milinfolive",
   "url": "https://t.me/milinfolive/181825",
   "clause": "Military Informant: Yandex's largest data centre in Kaluga (Grabtsevo industrial park) was attacked by UA forces"
  },
  {
   "claim_id": "dvamajors-20261020-lviv-novoyavorivsk-energy",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: dva_majors",
   "url": "https://t.me/dva_majors/100739",
   "clause": "Two Majors: RU jet UAVs struck energy facilities in Lviv obl"
  },
  {
   "claim_id": "dvamajors-20261020-lviv-novoyavorivsk-energy",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: dva_majors",
   "url": "https://t.me/dva_majors/100739",
   "clause": "(several hits in Novoyavorivsk, Yavoriv substation repeatedly)"
  },
  {
   "claim_id": "kyivobl-20261020-chabany-highway-drone",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 3,
   "qual": "at least",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77861",
   "clause": "at least three killed per reports, including the driver of a shuttle to the National Military Memorial Cemetery"
  },
  {
   "claim_id": "donetsk-20261020-data-centre-postysheva",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-ato/4176318-data-center-attacked-overnight-in-russianoccupied-donetsk.html",
   "clause": "Ukrinform citing Petro Andriushchenko (Center for the Study of the Occupation): the Ugletelecom / Elecom data centre at 60 Postysheva St in occupied Donetsk was attacked overnight and \"no longer exists\""
  },
  {
   "claim_id": "81amb-20261020-sloviansk-constant-assault",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://suspilne.media/donbas/1432323-tut-sucilnij-sturm-vijskovij-pro-situaciu-na-slovanskomu-napramku/",
   "clause": "RU uses fog and rain to move small assault groups, most destroyed by drones before reaching infantry"
  },
  {
   "claim_id": "miroshnik-20261020-enerhodar-blockade",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 5,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: TASS",
   "url": "https://tass.com/politics/2204745",
   "clause": "five civilians injured by shelling of the ZNPP sports complex"
  },
  {
   "claim_id": "kyiv-20261020-drone-gas-station-holosiivskyi",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176338-russian-drone-attacks-kill-one-injure-seven-in-kyiv.html",
   "clause": "Ukrinform / Klitschko: during a daytime RU jet-drone attack on Kyiv a UAV crashed near a gas station on the border with Kyiv oblast (Holosiivskyi district)"
  },
  {
   "claim_id": "kyiv-20261020-drone-gas-station-holosiivskyi",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176338-russian-drone-attacks-kill-one-injure-seven-in-kyiv.html",
   "clause": "one killed, seven injured as of 14:45"
  },
  {
   "claim_id": "kyiv-20261020-drone-gas-station-holosiivskyi",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 7,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176338-russian-drone-attacks-kill-one-injure-seven-in-kyiv.html",
   "clause": "one killed, seven injured as of 14:45"
  },
  {
   "claim_id": "kyiv-20261020-drone-gas-station-holosiivskyi",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176338-russian-drone-attacks-kill-one-injure-seven-in-kyiv.html",
   "clause": "debris fell on a medical facility and rail tracks in Solomianskyi district"
  },
  {
   "claim_id": "kharkiv-20261020-novobavarskyi-missile",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 7,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26822",
   "clause": "Kharkiv OVA (Syniehubov) / Mayor Terekhov: a RU missile strike on private housing and a civilian enterprise in Kharkiv's Novobavarskyi district (afternoon 20 Oct) injured seven"
  },
  {
   "claim_id": "novhorod-siverskyi-20261020-molniya",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2001.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Suspilne Chernihiv",
   "url": "https://suspilne.media/chernihiv/1432437-rosijskij-bpla-tipu-molnia-vluciv-u-centri-novgoroda-siverskogo/",
   "clause": "a woman born 2001 injured"
  },
  {
   "claim_id": "novhorod-siverskyi-20261020-molniya",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Suspilne Chernihiv",
   "url": "https://suspilne.media/chernihiv/1432437-rosijskij-bpla-tipu-molnia-vluciv-u-centri-novgoroda-siverskogo/",
   "clause": "An FPV drone on fibre-optic also hit a house in Semenivka"
  },
  {
   "claim_id": "miroshnik-20261020-oleshky-733-rounds",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: TASS",
   "url": "https://tass.com/politics/2204775",
   "clause": "one dead, five injured"
  },
  {
   "claim_id": "miroshnik-20261020-oleshky-733-rounds",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 5,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: TASS",
   "url": "https://tass.com/politics/2204775",
   "clause": "one dead, five injured"
  },
  {
   "claim_id": "miroshnik-20261020-oleshky-733-rounds",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 556.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: TASS",
   "url": "https://tass.com/politics/2204775",
   "clause": "733 artillery/mortar rounds and 556 drone strikes recorded in Oleshky during daylight"
  },
  {
   "claim_id": "miroshnik-20261020-oleshky-733-rounds",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: TASS",
   "url": "https://tass.com/politics/2204775",
   "clause": "drones also hit homes in Tarasivka, Nova Maiachka, Kostohryzove, Vynohradove, Podo-Kalynivka, Pryvitne"
  },
  {
   "claim_id": "ivano-frankivsk-20261020-energy-repeat",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/20/8058939/",
   "clause": "Ukrainska Pravda / Ivano-Frankivsk OVA head Onyshchuk: RU forces attacked an energy facility in Ivano-Frankivsk Oblast twice in one day"
  },
  {
   "claim_id": "ivano-frankivsk-20261020-energy-repeat",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/20/8058939/",
   "clause": "one person injured in the repeat attack"
  },
  {
   "claim_id": "kherson-20261020-korabelnyi-4-injured",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/khersonskaODA/69974",
   "clause": "Kherson OVA: around 16:00 RU shelling of Kherson's Korabelnyi district hit a house"
  },
  {
   "claim_id": "milinfo-20261020-kyiv-nyvky-substation",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian military units / milbloggers",
   "url": "https://t.me/milinfolive/181831",
   "clause": "Military Informant (RU milblogger): after \"Geran\" hits on the 330 kV \"Nyvky\" substation in Kyiv, metro and surface electric transport stopped and power went out even in the Verkhovna Rada"
  },
  {
   "claim_id": "rfmod-20261020-dubno-epicentr-k",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68375",
   "clause": "claims hit on the \"Epicentr-K\" logistics centre in Dubno (Rivne obl.), alleging its warehouse complex is used by the AFU. Unverified / EST"
  },
  {
   "claim_id": "dnipro-ova-20261020-1830-summary",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32725",
   "clause": "Dnipropetrovsk OVA 18:30 20 Oct: two killed, seven injured"
  },
  {
   "claim_id": "dnipro-ova-20261020-1830-summary",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 7,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32725",
   "clause": "Dnipropetrovsk OVA 18:30 20 Oct: two killed, seven injured"
  },
  {
   "claim_id": "dnipro-ova-20261020-1830-summary",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32725",
   "clause": "warehouses and infrastructure damaged in Dnipro (2 killed, 4 injured)"
  },
  {
   "claim_id": "dnipro-ova-20261020-1830-summary",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 4.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32725",
   "clause": "warehouses and infrastructure damaged in Dnipro (2 killed, 4 injured)"
  },
  {
   "claim_id": "dnipro-ova-20261020-1830-summary",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32725",
   "clause": "warehouses and infrastructure damaged in Dnipro (2 killed, 4 injured)"
  },
  {
   "claim_id": "kyiv-20261020-daytime-drones-energy-1-killed-12-injured",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176435-russian-attacks-leave-one-dead-12-injured-in-kyiv-since-midnight.html",
   "clause": "Ukrinform / Kyiv City Health Department: RU attacks on Kyiv since midnight left one dead and 12 injured (6 hospitalised)"
  },
  {
   "claim_id": "kyiv-20261020-daytime-drones-energy-1-killed-12-injured",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 12.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176435-russian-attacks-leave-one-dead-12-injured-in-kyiv-since-midnight.html",
   "clause": "Ukrinform / Kyiv City Health Department: RU attacks on Kyiv since midnight left one dead and 12 injured (6 hospitalised)"
  },
  {
   "claim_id": "kyiv-20261020-daytime-drones-energy-1-killed-12-injured",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176435-russian-attacks-leave-one-dead-12-injured-in-kyiv-since-midnight.html",
   "clause": "Ukrinform / Kyiv City Health Department: RU attacks on Kyiv since midnight left one dead and 12 injured (6 hospitalised)"
  },
  {
   "claim_id": "kyiv-20261020-daytime-drones-energy-1-killed-12-injured",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176435-russian-attacks-leave-one-dead-12-injured-in-kyiv-since-midnight.html",
   "clause": "Klitschko reported a strike on an energy facility in Shevchenkivskyi district (DTEK: parts of 4 districts without power"
  },
  {
   "claim_id": "zaporizhzhia-20261020-municipal-bus-fpv",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/zoda_gov_ua/68514",
   "clause": "preliminarily one person injured"
  },
  {
   "claim_id": "rybar-20261020-lviv-border-substations",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian military units / milbloggers",
   "url": "https://t.me/rybar/84051",
   "clause": "Rybar: RU forces struck near border crossings in Lviv obl. and substations in Yavoriv district (about ten hits, outages)"
  },
  {
   "claim_id": "rybar-20261020-lviv-border-substations",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian military units / milbloggers",
   "url": "https://t.me/rybar/84051",
   "clause": "evening strike on Kyiv's Nyvky substation stopped the metro"
  },
  {
   "claim_id": "kharkiv-20261020-pisky-radkivski-10-kab",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 10.0,
   "qual": "about",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://suspilne.media/kharkiv/1432599-rf-skinula-blizko-10-kabiv-na-piski-radkivski-na-harkivsini-poranena-pensionerka/",
   "clause": "Suspilne Kharkiv / Borova MVA: RU forces struck Pisky-Radkivski with about 10 guided bombs (KABs) on 20 Oct"
  },
  {
   "claim_id": "kharkiv-20261020-pisky-radkivski-10-kab",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://suspilne.media/kharkiv/1432599-rf-skinula-blizko-10-kabiv-na-piski-radkivski-na-harkivsini-poranena-pensionerka/",
   "clause": "an 80-year-old woman injured, at least six houses damaged or destroyed"
  },
  {
   "claim_id": "tass-20261020-znpp-bus-drone",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 10.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: tass_agency",
   "url": "https://t.me/tass_agency/401337",
   "clause": "the plant says 10 employees have been killed and about 40 injured by AFU strikes since April"
  },
  {
   "claim_id": "tass-20261020-znpp-bus-drone",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 40.0,
   "qual": "about",
   "target": "Russia",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: tass_agency",
   "url": "https://t.me/tass_agency/401337",
   "clause": "the plant says 10 employees have been killed and about 40 injured by AFU strikes since April"
  },
  {
   "claim_id": "mykolaiv-20261020-pervomaisk-epicentr",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176470-russian-forces-strike-epicentr-shopping-center-in-pervomaisk-injuring-two-women.html",
   "clause": "Ukrinform / Mykolaiv OVA acting head Reshetilov: a RU UAV struck the Epicentr shopping centre in Pervomaisk (Mykolaiv obl.) in the evening"
  },
  {
   "claim_id": "mykolaiv-20261020-pervomaisk-epicentr",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176470-russian-forces-strike-epicentr-shopping-center-in-pervomaisk-injuring-two-women.html",
   "clause": "two women injured"
  },
  {
   "claim_id": "kharkiv-20261020-novobavarskyi-dsns-9-injured",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 9.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ukrinform_news/171853",
   "clause": "Ukrinform / DSNS: 9 people injured by RU strikes in Kharkiv on 20 Oct"
  },
  {
   "claim_id": "kharkiv-20261020-novobavarskyi-dsns-9-injured",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ukrinform_news/171853",
   "clause": "two strikes on residential and civilian infrastructure in Novobavarskyi district, one private house destroyed"
  },
  {
   "claim_id": "kharkiv-20261020-novobavarskyi-dsns-9-injured",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 2,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ukrinform_news/171853",
   "clause": "two strikes on residential and civilian infrastructure in Novobavarskyi district, one private house destroyed"
  },
  {
   "claim_id": "uags-20261020-2200-229-clashes",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 5881.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42638",
   "clause": "64 air strikes, 223 KABs, 5,881 kamikaze drones, 1,925 shellings"
  },
  {
   "claim_id": "uags-20261020-2200-229-clashes",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 64.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42638",
   "clause": "64 air strikes, 223 KABs, 5,881 kamikaze drones, 1,925 shellings"
  },
  {
   "claim_id": "uags-20261020-2200-229-clashes",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 223.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42638",
   "clause": "64 air strikes, 223 KABs, 5,881 kamikaze drones, 1,925 shellings"
  },
  {
   "claim_id": "uags-20261020-2200-229-clashes",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:artillery",
   "value": 1925.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42638",
   "clause": "64 air strikes, 223 KABs, 5,881 kamikaze drones, 1,925 shellings"
  },
  {
   "claim_id": "uags-20261020-2200-229-clashes",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 12.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42638",
   "clause": "South-Slobozhanskyi 12 attacks (Ternova, Starytsia, Blahodatne, Symynivka, Vovchanski Khutory, Zakharivka, Okhrimivka, Volokhivske, Vilkhuvatka, Chuhunivka"
  },
  {
   "claim_id": "sobyanin-20261020-3-uav-moscow",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 3,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/tass_agency/401346",
   "clause": "TASS / Moscow mayor Sobyanin: RU MoD air defence destroyed three UAVs flying toward Moscow on the evening of 20 Oct"
  },
  {
   "claim_id": "kremenchuk-20261020-education-building-uav",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://suspilne.media/poltava/1432667-u-kremencuci-rosijskij-bpla-vluciv-u-navcalnij-zaklad-travmovana-ludina/",
   "clause": "preliminarily one person injured"
  },
  {
   "claim_id": "mykolaiv-20261020-pervomaisk-8-injured",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176498-injury-toll-from-russian-strike-on-epicentr-shopping-mall-in-pervomaisk-rises-to-eight.html",
   "clause": "Ukrinform / Mykolaiv OVA acting head Reshetilov: injury toll from the RU drone strike on the Epicentr shopping centre in Pervomaisk rose to eight (five women, three men)"
  },
  {
   "claim_id": "kramatorsk-20261020-3-killed-2-injured-up",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 3,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/21/8058891/",
   "clause": "Ukrainska Pravda / Donetsk Oblast Prosecutor's Office: a RU attack on Kramatorsk on 20 Oct killed three civilians and injured two, damaging three multi-storey residential buildings"
  },
  {
   "claim_id": "kramatorsk-20261020-3-killed-2-injured-up",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/21/8058891/",
   "clause": "Ukrainska Pravda / Donetsk Oblast Prosecutor's Office: a RU attack on Kramatorsk on 20 Oct killed three civilians and injured two, damaging three multi-storey residential buildings"
  },
  {
   "claim_id": "kramatorsk-20261020-3-killed-2-injured-up",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/21/8058891/",
   "clause": "Ukrainska Pravda / Donetsk Oblast Prosecutor's Office: a RU attack on Kramatorsk on 20 Oct killed three civilians and injured two, damaging three multi-storey residential buildings"
  },
  {
   "claim_id": "kramatorsk-20261020-3-killed-2-injured-up",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 4.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/21/8058891/",
   "clause": "May overlap with kramatorsk-20261020-3-heat-workers-killed (Suspilne: 4 killed, 6 injured in three attacks)"
  },
  {
   "claim_id": "kramatorsk-20261020-3-killed-2-injured-up",
   "date": "2026-10-20",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 6.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/21/8058891/",
   "clause": "May overlap with kramatorsk-20261020-3-heat-workers-killed (Suspilne: 4 killed, 6 injured in three attacks)"
  },
  {
   "claim_id": "kramatorsk-20261020-3-killed-2-injured-up",
   "date": "2026-10-20",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 3,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/21/8058891/",
   "clause": "May overlap with kramatorsk-20261020-3-heat-workers-killed (Suspilne: 4 killed, 6 injured in three attacks)"
  },
  {
   "claim_id": "nato-20261020-black-sea-patrol-aircraft",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:vehicles",
   "value": 2,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "earlier event (before window)",
   "claimant": "Media report: Al Jazeera",
   "url": "https://www.aljazeera.com/news/2026/10/20/nato-to-send-additional-patrol-planes-to-black-sea-after-drone-attacks",
   "clause": "Al Jazeera / AFP / Reuters: NATO is deploying additional patrol aircraft and intelligence personnel to the Black Sea after a series of deadly drone attacks on shipping (e.g. two cargo ships hit off Bulgaria on 13 Oct)"
  },
  {
   "claim_id": "nato-20261020-black-sea-patrol-aircraft",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:ships",
   "value": 1,
   "qual": "single (no number stated)",
   "target": "Unclear",
   "civilian": false,
   "scope": "earlier event (before window)",
   "claimant": "Media report: Al Jazeera",
   "url": "https://www.aljazeera.com/news/2026/10/20/nato-to-send-additional-patrol-planes-to-black-sea-after-drone-attacks",
   "clause": "Al Jazeera / AFP / Reuters: NATO is deploying additional patrol aircraft and intelligence personnel to the Black Sea after a series of deadly drone attacks on shipping (e.g. two cargo ships hit off Bulgaria on 13 Oct)"
  },
  {
   "claim_id": "ki-20261020-chystiakove-energy-strike",
   "date": "2026-10-20",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/ukrainian-forces-reportedly-strike-energy-infrastructure-in-occupied-donetsk-oblast-blackouts-in-crimea/",
   "clause": "Kyiv Independent: UA forces reportedly struck energy infrastructure in occupied Chystiakove (Donetsk obl.) late on 20 Oct (Exilenova Plus)"
  },
  {
   "claim_id": "kyiv-20261020-evening-21-injured",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://interfax.com.ua/news/general/1223541.html",
   "clause": "Evening strikes hit Sviatoshynskyi (garage cooperative) and Desnianskyi (warehouse) districts"
  },
  {
   "claim_id": "kharkiv-20261021-korotych-2-killed",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26824",
   "clause": "13 private houses damaged"
  },
  {
   "claim_id": "zaporizhzhia-20261021-fedorov-795-strikes",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 795.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49089",
   "clause": "Zaporizhzhia OVA (Fedorov) daily: 795 strikes on 59 settlements"
  },
  {
   "claim_id": "zaporizhzhia-20261021-fedorov-795-strikes",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 603.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49089",
   "clause": "30 air strikes, 603 UAVs (mostly FPV), 6 MLRS and 156 artillery strikes"
  },
  {
   "claim_id": "zaporizhzhia-20261021-fedorov-795-strikes",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 30.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49089",
   "clause": "30 air strikes, 603 UAVs (mostly FPV), 6 MLRS and 156 artillery strikes"
  },
  {
   "claim_id": "zaporizhzhia-20261021-fedorov-795-strikes",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 156.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49089",
   "clause": "30 air strikes, 603 UAVs (mostly FPV), 6 MLRS and 156 artillery strikes"
  },
  {
   "claim_id": "zaporizhzhia-20261021-fedorov-795-strikes",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49089",
   "clause": "1 killed and 6 injured in Zaporizhzhia city/raion"
  },
  {
   "claim_id": "zaporizhzhia-20261021-fedorov-795-strikes",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 6.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ivan_fedorov_zp/49089",
   "clause": "1 killed and 6 injured in Zaporizhzhia city/raion"
  },
  {
   "claim_id": "dnipro-ova-20261021-0730-summary",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 30.0,
   "qual": "almost",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32726",
   "clause": "Dnipropetrovsk OVA 07:30: almost 30 RU attacks on three districts (Dnipro, Nikopol, Synelnykove)"
  },
  {
   "claim_id": "dnipro-ova-20261021-0730-summary",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32726",
   "clause": "1 injured (Nikopol area), houses, cars and an enterprise damaged"
  },
  {
   "claim_id": "dnipro-ova-20261021-0730-summary",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32726",
   "clause": "1 injured (Nikopol area), houses, cars and an enterprise damaged"
  },
  {
   "claim_id": "kherson-20261021-daily-13-injured",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 13.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/khersonskaODA/69986",
   "clause": "13 injured incl. 3 children"
  },
  {
   "claim_id": "kherson-20261021-daily-13-injured",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/khersonskaODA/69986",
   "clause": "9 private houses damaged"
  },
  {
   "claim_id": "uags-20261021-0800-269-clashes",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 86.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42640",
   "clause": "86 air strikes with 302 guided bombs"
  },
  {
   "claim_id": "uags-20261021-0800-269-clashes",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 302.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42640",
   "clause": "86 air strikes with 302 guided bombs"
  },
  {
   "claim_id": "uags-20261021-0800-269-clashes",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 37.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42640",
   "clause": "heaviest fighting on Kostiantynivka (37 attacks), Pokrovsk (30) and Huliaipole (20) axes"
  },
  {
   "claim_id": "mod-20261021-overnight-strikes-poltava-nyvky-ship",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68385",
   "clause": "RF MoD: overnight UAV strikes on logistics centres, port infrastructure and substations"
  },
  {
   "claim_id": "kharkiv-20261021-oblast-daily-24-injured",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26826",
   "clause": "2 killed, 24 injured incl. 2 children (7 in Kharkiv"
  },
  {
   "claim_id": "kharkiv-20261021-oblast-daily-24-injured",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 24.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26826",
   "clause": "2 killed, 24 injured incl. 2 children (7 in Kharkiv"
  },
  {
   "claim_id": "kharkiv-20261021-oblast-daily-24-injured",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 33.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26826",
   "clause": "weapons used incl. 2 missiles, MLRS, 2 Molniya, 9 FPV, 33 UAVs"
  },
  {
   "claim_id": "kharkiv-20261021-oblast-daily-24-injured",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 2.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/26826",
   "clause": "weapons used incl. 2 missiles, MLRS, 2 Molniya, 9 FPV, 33 UAVs"
  },
  {
   "claim_id": "uaaf-20261021-overnight-186-uav-150-down",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 186.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/GeneralStaffZSU/42641",
   "clause": "UA Air Force: overnight 21 Oct Russia launched Iskander-K cruise missiles and 186 strike UAVs (88 jet-powered)"
  },
  {
   "claim_id": "uaaf-20261021-overnight-186-uav-150-down",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 150.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/GeneralStaffZSU/42641",
   "clause": "150 UAVs downed/suppressed as of 08:30"
  },
  {
   "claim_id": "lviv-20261021-zhovkva-enterprise",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77932",
   "clause": "two workers injured, a private house damaged"
  },
  {
   "claim_id": "lviv-20261021-zhovkva-enterprise",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/77932",
   "clause": "two workers injured, a private house damaged"
  },
  {
   "claim_id": "kursk-20261021-5-injured",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 5,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/dva_majors/100760",
   "clause": "Dva Majora relaying Kursk authorities: five injured (four in Oktyabrsky district, one in Korenevo)"
  },
  {
   "claim_id": "kursk-20261021-5-injured",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/dva_majors/100760",
   "clause": "energy facility damaged in Oktyabrsky district"
  },
  {
   "claim_id": "bryansk-20261021-klimovo-1-killed",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/wargonzo/37780",
   "clause": "a 19-year-old passenger killed, two men injured"
  },
  {
   "claim_id": "donetsk-20261021-filashkin-kramatorsk-4-killed",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 4.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/VadymFilashkin/18794",
   "clause": "Donetsk OVA (Filashkin) morning 21 Oct: in Kramatorsk 4 killed and 6 injured (15 apartment blocks, 2 schools damaged)"
  },
  {
   "claim_id": "donetsk-20261021-filashkin-kramatorsk-4-killed",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 6.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/VadymFilashkin/18794",
   "clause": "Donetsk OVA (Filashkin) morning 21 Oct: in Kramatorsk 4 killed and 6 injured (15 apartment blocks, 2 schools damaged)"
  },
  {
   "claim_id": "donetsk-20261021-filashkin-kramatorsk-4-killed",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/VadymFilashkin/18794",
   "clause": "Donetsk OVA (Filashkin) morning 21 Oct: in Kramatorsk 4 killed and 6 injured (15 apartment blocks, 2 schools damaged)"
  },
  {
   "claim_id": "donetsk-20261021-filashkin-kramatorsk-4-killed",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/VadymFilashkin/18794",
   "clause": "2 injured in Sloviansk"
  },
  {
   "claim_id": "donetsk-20261021-filashkin-kramatorsk-4-killed",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 26.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/VadymFilashkin/18794",
   "clause": "26 strikes on Donetsk-oblast settlements"
  },
  {
   "claim_id": "kyiv-obl-20261021-bucha-district-1-killed",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/RBC_ua_news/209469",
   "clause": "RBC-Ukraine / Kyiv OVA: one person killed and one injured in a RU attack in Bucha district"
  },
  {
   "claim_id": "kyiv-obl-20261021-bucha-district-1-killed",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/RBC_ua_news/209469",
   "clause": "fire at a production building and dormitory"
  },
  {
   "claim_id": "luhansk-20261021-telecom-building-strike",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 3.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: tass_agency",
   "url": "https://t.me/tass_agency/401427",
   "clause": "WarGonzo relays 3 killed"
  },
  {
   "claim_id": "chernihiv-20261021-double-tap-1-killed",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/RBC_ua_news/209482",
   "clause": "one person killed by the second hit, one with barotrauma"
  },
  {
   "claim_id": "kyiv-20261021-sviatoshynskyi-2-killed",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/russian-attacks-kill-at-least-9-wound-45-across-ukraine-as-yet-another-deadly-drone-attack-strikes-kyiv/",
   "clause": "Kyiv Independent / KMVA: early 21 Oct RU drone attack hit a 24-storey residential building (fire on 20th floor) in Kyiv"
  },
  {
   "claim_id": "kyiv-20261021-sviatoshynskyi-2-killed",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2.0,
   "qual": "at least",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/russian-attacks-kill-at-least-9-wound-45-across-ukraine-as-yet-another-deadly-drone-attack-strikes-kyiv/",
   "clause": "at least 2 killed, 2 injured"
  },
  {
   "claim_id": "kyiv-20261021-sviatoshynskyi-2-killed",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/russian-attacks-kill-at-least-9-wound-45-across-ukraine-as-yet-another-deadly-drone-attack-strikes-kyiv/",
   "clause": "at least 2 killed, 2 injured"
  },
  {
   "claim_id": "kyiv-20261021-sviatoshynskyi-2-killed",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 9.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/russian-attacks-kill-at-least-9-wound-45-across-ukraine-as-yet-another-deadly-drone-attack-strikes-kyiv/",
   "clause": "Nationwide RU attacks killed at least 9 and wounded 45 over the past day"
  },
  {
   "claim_id": "kyiv-20261021-sviatoshynskyi-2-killed",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 45.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/russian-attacks-kill-at-least-9-wound-45-across-ukraine-as-yet-another-deadly-drone-attack-strikes-kyiv/",
   "clause": "Nationwide RU attacks killed at least 9 and wounded 45 over the past day"
  },
  {
   "claim_id": "sloviansk-20261021-final-toll-7",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176644-seven-killed-in-sloviansk-as-rescue-workers-spend-five-days-clearing-rubble.html",
   "clause": "Ukrinform / SES: rescue operation in Sloviansk after the 17 Oct FAB strike on two five-storey buildings ended after five days"
  },
  {
   "claim_id": "sloviansk-20261021-final-toll-7",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 7.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176644-seven-killed-in-sloviansk-as-rescue-workers-spend-five-days-clearing-rubble.html",
   "clause": "7 bodies recovered (incl. a rescuer), 12 injured"
  },
  {
   "claim_id": "sloviansk-20261021-final-toll-7",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 12.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176644-seven-killed-in-sloviansk-as-rescue-workers-spend-five-days-clearing-rubble.html",
   "clause": "7 bodies recovered (incl. a rescuer), 12 injured"
  },
  {
   "claim_id": "uman-20261021-epicentr-5-injured",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176710-injury-toll-in-russian-attack-on-uman-rises-to-five.html",
   "clause": "Ukrinform / SES: injury toll from RU drone attacks on Uman rose to five (2 hospitalised)"
  },
  {
   "claim_id": "uman-20261021-epicentr-5-injured",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176710-injury-toll-in-russian-attack-on-uman-rises-to-five.html",
   "clause": "an Epicentr hypermarket, hotel, university dormitory and houses damaged"
  },
  {
   "claim_id": "rivne-20261021-metro-store",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/RBC_ua_news/209501",
   "clause": "RBC-Ukraine / Rivne OVA: RU attack hit a Metro retail store in Rivne"
  },
  {
   "claim_id": "x-noel-20261021-belgorod-school-uav-ops",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://x.com/NOELreports/status/2112888133692030995",
   "clause": "NOELreports (X aggregator): UA forces struck and destroyed a school building in Belgorod region allegedly used by RU UAV operators"
  },
  {
   "claim_id": "voindv-20261021-38-omsbr-omelnyk-pows",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "captured",
   "value": 8.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: voin_dv",
   "url": "https://t.me/voin_dv/21686",
   "clause": "Voin DV: 38th Guards MRB soldiers say that while clearing the north-western part of Omelnyk on 17 Oct they found a UA position and 8 soldiers surrendered"
  },
  {
   "claim_id": "sloviansk-20261021-centre-strike-5-injured",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 5,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-ato/4176822-russian-strike-on-sloviansk-injures-five-including-two-children.html",
   "clause": "Ukrinform / Sloviansk MA head Vadym Liakh: RU strike on the centre of Sloviansk around 17:00 local injured five, including two boys aged 7 and 13. Unverified / EST"
  },
  {
   "claim_id": "kirovohrad-20261021-kropyvnytskyi-warehouses",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4176848-russian-forces-attack-warehouses-in-kropyvnytskyi-district.html",
   "clause": "Ukrinform / Kirovohrad OVA head Andrii Raikovych: another RU attack on warehouses in Kropyvnytskyi district"
  },
  {
   "claim_id": "uags-20261021-2200-165-clashes",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 6512.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42649",
   "clause": "49 air strikes, 165 guided bombs, 6,512 kamikaze drones"
  },
  {
   "claim_id": "uags-20261021-2200-165-clashes",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 49.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42649",
   "clause": "49 air strikes, 165 guided bombs, 6,512 kamikaze drones"
  },
  {
   "claim_id": "uags-20261021-2200-165-clashes",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 165.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42649",
   "clause": "49 air strikes, 165 guided bombs, 6,512 kamikaze drones"
  },
  {
   "claim_id": "uags-20261021-2200-165-clashes",
   "date": "2026-10-21",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 19.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42649",
   "clause": "heaviest fighting on the Pokrovsk axis (19 attacks near Sofiivka, Dobropillia, Bilytske, Molodetske and toward Vilne, Kucheriv Yar, Hannivka, Svitle, Krasnopodillia, Serhiivka, Muravka)"
  },
  {
   "claim_id": "kyiv-20261021-dniprovskyi-evening-strike",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: ukrinform_news",
   "url": "https://t.me/ukrinform_news/171919",
   "clause": "Ukrinform / Kyiv MA: evening RU strike damaged private houses in Kyiv's Dniprovskyi district and a petrol station at another location"
  },
  {
   "claim_id": "kyiv-20261021-ballistic-night-attack",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 6,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/russian-ballistic-missiles-rock-kyiv-in-late-night-attack-injuring-6/",
   "clause": "Kyiv Independent: RU ballistic missiles struck multiple locations in Kyiv on the night of 21–22 Oct, injuring six"
  },
  {
   "claim_id": "kyiv-20261021-ballistic-night-attack",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/russian-ballistic-missiles-rock-kyiv-in-late-night-attack-injuring-6/",
   "clause": "a car service station and homes hit in Dniprovskyi, missiles hit near a transport facility in Darnytskyi"
  },
  {
   "claim_id": "kyiv-20261021-ballistic-night-attack",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/russian-ballistic-missiles-rock-kyiv-in-late-night-attack-injuring-6/",
   "clause": "later a medical facility (Pecherskyi) and a restaurant fire (Sviatoshynskyi)"
  },
  {
   "claim_id": "kharkiv-20261021-jet-drone-slobidskyi",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/RBC_ua_news/209534",
   "clause": "outbuilding on fire, several homes damaged, no casualties"
  },
  {
   "claim_id": "lipetsk-20261021-uav-clinic-homes",
   "date": "2026-10-21",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://kyivindependent.com/explosion-fires-reported-amid-overnight-ukrainian-drone-attack-on-lipetsk-russia/",
   "clause": "governor Artamonov says windows/facades of several residential buildings and a closed clinic were damaged"
  },
  {
   "claim_id": "lipetsk-20261021-uav-clinic-homes",
   "date": "2026-10-21",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://kyivindependent.com/explosion-fires-reported-amid-overnight-ukrainian-drone-attack-on-lipetsk-russia/",
   "clause": "one man injured (governor via TASS/RIA)"
  },
  {
   "claim_id": "ifx-20261022-voronovo-two-injured",
   "date": "2026-10-22",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: interfaxonline",
   "url": "https://t.me/interfaxonline/80519",
   "clause": "Interfax / Sobyanin: two people injured in the Voronovo area of TiNAO (New Moscow) during the overnight UAV attack"
  },
  {
   "claim_id": "tass-20261022-630-uav-moscow-region",
   "date": "2026-10-22",
   "kind": "casualty",
   "metricKey": "civ_casualties_unspec",
   "value": 163.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/tass_agency/401648",
   "clause": "most destroyed at distant lines, 163 neutralised on approach to Moscow (Interfax)"
  },
  {
   "claim_id": "tass-20261022-630-uav-moscow-region",
   "date": "2026-10-22",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/tass_agency/401648",
   "clause": "Two people hurt near Voronovo (TiNAO)"
  },
  {
   "claim_id": "ukrinform-20261022-kyiv-night-attack-1-killed-22-injured",
   "date": "2026-10-22",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: ukrinform_news",
   "url": "https://t.me/ukrinform_news/171930",
   "clause": "Ukrinform: Russian overnight attack on Kyiv killed one person and injured 22"
  },
  {
   "claim_id": "ukrinform-20261022-kyiv-night-attack-1-killed-22-injured",
   "date": "2026-10-22",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 22.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: ukrinform_news",
   "url": "https://t.me/ukrinform_news/171930",
   "clause": "Ukrinform: Russian overnight attack on Kyiv killed one person and injured 22"
  },
  {
   "claim_id": "uaaf-20261022-night-181-downed",
   "date": "2026-10-22",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 210.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/GeneralStaffZSU/42655",
   "clause": "UA Air Force (via General Staff channel): overnight combined strike with Iskander-M/S-400/Zircon/Onyx missiles and 210 Shahed-type drones (incl. 110 jet), main direction Kyiv"
  },
  {
   "claim_id": "uaaf-20261022-night-181-downed",
   "date": "2026-10-22",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 181.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/GeneralStaffZSU/42655",
   "clause": "181 drones downed/suppressed as of 09:00, hits at 32 locations"
  },
  {
   "claim_id": "rfmod-20261022-night-strike-kyiv-antonov",
   "date": "2026-10-22",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68427",
   "clause": "RF MoD claims overnight massed precision/drone strike on Ukrainian defence-industry sites incl. the Antonov assembly plant and a 'Khladokombinat No.3' warehouse complex in Kyiv, plus Odesa-region port infrastructure"
  },
  {
   "claim_id": "ukrinform-20261022-dnipro-residential-strike",
   "date": "2026-10-22",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4177045-russian-forces-strike-residential-area-in-dnipro.html",
   "clause": "Ukrinform citing Dnipropetrovsk OVA head Oleksandr Hanzha: Russian attack on Dnipro hit a residential area, several fires"
  },
  {
   "claim_id": "ukrinform-20261022-hlukhiv-hospital-uav",
   "date": "2026-10-22",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-ato/4177070-russian-drone-hits-hospital-in-hlukhiv.html",
   "clause": "Ukrinform: a Russian drone struck the municipal hospital in Hlukhiv on the evening of 21 Oct, damaging the facade and windows"
  },
  {
   "claim_id": "ukrinform-20261022-hlukhiv-hospital-uav",
   "date": "2026-10-22",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 60.0,
   "qual": "~",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-ato/4177070-russian-drone-hits-hospital-in-hlukhiv.html",
   "clause": "~60 attacks on 26 Sumy-oblast settlements in 24 h"
  },
  {
   "claim_id": "rfmod-20261022-substations-khotiv-zhytomyr",
   "date": "2026-10-22",
   "kind": "equipment",
   "metricKey": "equip:vehicles",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68442",
   "clause": "RF MoD claims daytime drone strikes hit the 330 kV 'Novokyivska' substation in Khotiv (Kyiv obl.) and the 330 kV 'Zhytomyrska' substation in Zhytomyr, plus two cargo ships bound for Odesa/Chornomorsk"
  },
  {
   "claim_id": "rfmod-20261022-substations-khotiv-zhytomyr",
   "date": "2026-10-22",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68442",
   "clause": "RF MoD claims daytime drone strikes hit the 330 kV 'Novokyivska' substation in Khotiv (Kyiv obl.) and the 330 kV 'Zhytomyrska' substation in Zhytomyr, plus two cargo ships bound for Odesa/Chornomorsk"
  },
  {
   "claim_id": "ukrinform-20261022-zhytomyr-house-9-injured",
   "date": "2026-10-22",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 9,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4177211-russian-drone-hits-house-in-zhytomyr-region-injuring-nine-including-children.html",
   "clause": "Ukrinform citing Zhytomyr OVA head Vitalii Bunechko: a Shahed drone hit a private house in the Zhytomyr community, injuring nine incl. two children"
  },
  {
   "claim_id": "ukrinform-20261022-zhytomyr-house-9-injured",
   "date": "2026-10-22",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4177211-russian-drone-hits-house-in-zhytomyr-region-injuring-nine-including-children.html",
   "clause": "Ukrinform citing Zhytomyr OVA head Vitalii Bunechko: a Shahed drone hit a private house in the Zhytomyr community, injuring nine incl. two children"
  },
  {
   "claim_id": "ukrinform-20261022-lozova-market-2-killed-36-injured",
   "date": "2026-10-22",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://www.ukrinform.net/rubric-ato/4177265-russian-strike-on-lozova-market-two-killed-injury-toll-rises-to-36.html",
   "clause": "Ukrinform citing Lozova community head Serhii Zelensky: Russian strike on Lozova central market (Shahed-type drones and a Banderol-type drone missile) killed two and injured 36"
  },
  {
   "claim_id": "ukrinform-20261022-lozova-market-2-killed-36-injured",
   "date": "2026-10-22",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 36.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://www.ukrinform.net/rubric-ato/4177265-russian-strike-on-lozova-market-two-killed-injury-toll-rises-to-36.html",
   "clause": "Ukrinform citing Lozova community head Serhii Zelensky: Russian strike on Lozova central market (Shahed-type drones and a Banderol-type drone missile) killed two and injured 36"
  },
  {
   "claim_id": "ukrinform-20261022-lozova-market-2-killed-36-injured",
   "date": "2026-10-22",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://www.ukrinform.net/rubric-ato/4177265-russian-strike-on-lozova-market-two-killed-injury-toll-rises-to-36.html",
   "clause": "Ukrinform citing Lozova community head Serhii Zelensky: Russian strike on Lozova central market (Shahed-type drones and a Banderol-type drone missile) killed two and injured 36"
  },
  {
   "claim_id": "ukrinform-20261022-lozova-market-2-killed-36-injured",
   "date": "2026-10-22",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://www.ukrinform.net/rubric-ato/4177265-russian-strike-on-lozova-market-two-killed-injury-toll-rises-to-36.html",
   "clause": "church and ~200 apartments damaged"
  },
  {
   "claim_id": "uags-20261022-2200-146-clashes",
   "date": "2026-10-22",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 13.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42658",
   "clause": "13 attacks on Pokrovsk axis (Sofiivka, Vilne, Novyi Donbas, Myrne, Serhiivka, Molodetske), 10 on Huliaipole axis, 6 on Kostiantynivka axis, 5 on Lyman axis, 11 on North-Slobozhanskyi axis"
  },
  {
   "claim_id": "kotenok-20261022-dnipro-prydniprovska-tpp",
   "date": "2026-10-22",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian military units / milbloggers",
   "url": "https://t.me/voenkorKotenok/76805",
   "clause": "RU milblogger Kotenok: new explosions in Dnipro, preliminarily hits on transformers of the Prydniprovska thermal power plant"
  },
  {
   "claim_id": "ukrinform-20261022-zaporizhzhia-house-strike-3-killed",
   "date": "2026-10-22",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4177275-death-toll-from-russian-strike-on-zaporizhzhia-rises-to-three.html",
   "clause": "Ukrinform citing acting Zaporizhzhia OVA head Mykhailo Semikin: death toll from a Russian strike on a private house in Zaporizhzhia rose to three"
  },
  {
   "claim_id": "interfax-20261022-belgorod-3-injured",
   "date": "2026-10-22",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://www.interfax.ru/russia/1124378",
   "clause": "Interfax citing the Belgorod operational HQ: three injured by Ukrainian drone attacks"
  },
  {
   "claim_id": "suspilne-20261023-sumy-night-drones-2-injured",
   "date": "2026-10-23",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "at least",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/78046",
   "clause": "Suspilne citing Sumy OVA head Hryhorov: at least two injured in an overnight massed Russian drone attack on Sumy"
  },
  {
   "claim_id": "tass-20261023-oleshky-house-of-culture",
   "date": "2026-10-23",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/tass_agency/401844",
   "clause": "TASS: a platoon commander of the 331st Regiment (98th VDV Div, Dnepr GoF), call sign 'Leska', says Ukrainian forces destroyed the House of Culture in Oleshky with aerial bombs"
  },
  {
   "claim_id": "tg-suspilne-20261023-dnipro-nikopol",
   "date": "2026-10-23",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/78056",
   "clause": "Suspilne citing OVA head Hanzha: two injured in overnight RU strikes on Nikopol and Synelnykove districts"
  },
  {
   "claim_id": "tg-suspilne-20261023-dnipro-nikopol",
   "date": "2026-10-23",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/78056",
   "clause": "infrastructure, an admin building and a house damaged in Dnipro and Pavlohrad"
  },
  {
   "claim_id": "tg-genstaff-20261023-0800-165-clashes",
   "date": "2026-10-23",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 15.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42660",
   "clause": "15 attacks stopped in Pokrovsk direction, 12 in Huliaipole, 11 in Kostiantynivka, 14 in South-Slobozhanskyi, 5 in Lyman"
  },
  {
   "claim_id": "tg-genstaff-20261023-0800-165-clashes",
   "date": "2026-10-23",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 10313.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42660",
   "clause": "RU used 239 guided bombs and 10,313 kamikaze drones"
  },
  {
   "claim_id": "tg-genstaff-20261023-0800-165-clashes",
   "date": "2026-10-23",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 239.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42660",
   "clause": "RU used 239 guided bombs and 10,313 kamikaze drones"
  },
  {
   "claim_id": "tg-exilenova-20261023-voronezh-vvaiu",
   "date": "2026-10-23",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/exilenova_plus/33237",
   "clause": "preliminary info that the former Voronezh Military Aviation Engineering University and an adjacent military aircraft parking area were hit"
  },
  {
   "claim_id": "ukrinform-20261023-kharkiv-zlatopil-strikes",
   "date": "2026-10-23",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4177430-russian-strikes-hit-kharkiv-zlatopil-and-nova-vodolaha-sparking-fires-and-causing-damage.html",
   "clause": "Ukrinform: strikes on Kharkiv (Slobidskyi and Osnovianskyi districts), two missiles on Zlatopil, a \"Banderol\" missile on Nova Vodolaha, warehouse fire in Bezliudivka"
  },
  {
   "claim_id": "ukrinform-20261023-kharkiv-zlatopil-strikes",
   "date": "2026-10-23",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 2,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4177430-russian-strikes-hit-kharkiv-zlatopil-and-nova-vodolaha-sparking-fires-and-causing-damage.html",
   "clause": "Ukrinform: strikes on Kharkiv (Slobidskyi and Osnovianskyi districts), two missiles on Zlatopil, a \"Banderol\" missile on Nova Vodolaha, warehouse fire in Bezliudivka"
  },
  {
   "claim_id": "ki-20261023-energy-8-killed-67",
   "date": "2026-10-23",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 8.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/energy-facilities-across-ukraine-targeted-as-russian-attacks-kill-at-least-8-injure-67-over-past-day/",
   "clause": "KI: Russian attacks killed 8 and wounded 67 over the past day"
  },
  {
   "claim_id": "ki-20261023-energy-8-killed-67",
   "date": "2026-10-23",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 67.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/energy-facilities-across-ukraine-targeted-as-russian-attacks-kill-at-least-8-injure-67-over-past-day/",
   "clause": "KI: Russian attacks killed 8 and wounded 67 over the past day"
  },
  {
   "claim_id": "ki-20261023-energy-8-killed-67",
   "date": "2026-10-23",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 176.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/energy-facilities-across-ukraine-targeted-as-russian-attacks-kill-at-least-8-injure-67-over-past-day/",
   "clause": "176 drones launched (140 downed)"
  },
  {
   "claim_id": "ki-20261023-energy-8-killed-67",
   "date": "2026-10-23",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 46.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/energy-facilities-across-ukraine-targeted-as-russian-attacks-kill-at-least-8-injure-67-over-past-day/",
   "clause": "Lozova market attack accounts for most of 46 injured in Kharkiv obl"
  },
  {
   "claim_id": "ki-20261023-energy-8-killed-67",
   "date": "2026-10-23",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/energy-facilities-across-ukraine-targeted-as-russian-attacks-kill-at-least-8-injure-67-over-past-day/",
   "clause": "Lozova market attack accounts for most of 46 injured in Kharkiv obl"
  },
  {
   "claim_id": "tg-interfax-20261023-moscow-drones-airports",
   "date": "2026-10-23",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 17.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Russian military units / milbloggers",
   "url": "https://t.me/boris_rozhin/230692",
   "clause": "Sobyanin (relayed by Colonelcassad / RIA): 17 drones flying at Moscow downed during the day"
  },
  {
   "claim_id": "tg-exilenova-20261023-gorodets-fns",
   "date": "2026-10-23",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Exilenova+",
   "url": "https://t.me/exilenova_plus/33246",
   "clause": "Exilenova+: footage of a strike on the Federal Tax Service (FNS) data centre in Gorodets overnight"
  },
  {
   "claim_id": "tg-interfax-20261023-znpp-infra",
   "date": "2026-10-23",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Interfax",
   "url": "https://t.me/interfaxonline/80599",
   "clause": "Rosatom head Likhachev (via Interfax): Ukrainian forces again attacked ZNPP infrastructure, damaging a print shop and transport facility"
  },
  {
   "claim_id": "ki-20261023-khoryv-sinks-romania",
   "date": "2026-10-23",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/civilian-cargo-ship-sinks-off-coast-of-romania-after-russian-drone-strike-authorities-say/",
   "clause": "1 dead, 3 missing, 9 rescued per Romanian authorities"
  },
  {
   "claim_id": "ukrinform-20261023-chernihiv-enterprise",
   "date": "2026-10-23",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4177517-russian-forces-attack-enterprise-in-chernihiv-leaving-one-killed-25-injured.html",
   "clause": "1 killed, 25 injured, people possibly trapped"
  },
  {
   "claim_id": "ukrinform-20261023-chernihiv-enterprise",
   "date": "2026-10-23",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 25.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4177517-russian-forces-attack-enterprise-in-chernihiv-leaving-one-killed-25-injured.html",
   "clause": "1 killed, 25 injured, people possibly trapped"
  }
 ],
 "method": "Figures are extracted automatically from the English summaries of this map’s claim records (claims.json) by fixed text rules; nothing is estimated or imputed. Each figure is credited to the party the claim cites (the claimant) and assigned to the side that the claim says suffered the loss. Per-event figures are de-duplicated: repeat reports of the same event (same UTC day, same ~10 km area, same claimant) count once, and when they disagree the range runs from the lowest to the highest figure reported. Rolling official tallies (e.g. daily General Staff / MoD loss counts) are kept in a separate table and are never added to per-event sums. Multi-day, nationwide, monthly or cumulative figures are listed separately and not summed. Totals from different claimants are never added together. Separate incidents in the same area on the same day may merge into one range, so per-event totals can undercount; rule-based extraction can also misread text — every figure links to its source in the ledger so it can be checked. Synthesis / cross-source ‘contradiction’ records are excluded from all figures to avoid double counting. Losses are grouped by the side that suffered them, parsed from the claim text and claimant (never from the map’s side tag); figures whose victim cannot be determined are shown under ‘Side unclear’. Official day tallies are bucketed by UTC date, so an interim evening update and the next-morning full-day figure can overlap — treat tally sums as upper bounds.",
 "disclaimers": [
  {
   "title": "INFO / SA only",
   "text": "This page exists only to help people see what open sources claim — nothing else. It is an informational and situational-awareness (SA) aid. It is not a product for operations, targeting, advice, or decision-making under threat."
  },
  {
   "title": "Unverified claims only",
   "text": "Every item, figure and total on this page is an UNVERIFIED / CLAIMED statement taken from the cited public sources. A label such as “official statement” means a public official utterance exists — citation ≠ confirmation."
  },
  {
   "title": "Not an official military or intelligence product",
   "text": "The SITREP layout is a presentation style only. This is not official intelligence, not a military report, and not targeting, fire-control, navigation or operational guidance. Not affiliated with, funded by, or directed by any government, military, or intelligence service."
  },
  {
   "title": "Casualty & damage figures are claims by the named parties",
   "text": "Killed / wounded / captured counts and equipment or damage figures are claims by the party named in each row. They may be propaganda, incomplete, revised, or inaccurate. Totals are arithmetic sums of one claimant’s own claims (“CLAIMED TOTAL, UNVERIFIED”) — never a confirmed or ‘true’ count, and never summed across claimants."
  },
  {
   "title": "No endorsement",
   "text": "Claims from all sides (and third parties) are listed under the same rules. Listing a claim does not endorse it, nor the legality, legitimacy, or justification of any military action by any party."
  },
  {
   "title": "Fair use & links",
   "text": "Short quoted or paraphrased source text is included for commentary and situational awareness with links to the original publishers, who retain all rights. Outbound links lead to third-party sites we do not control."
  },
  {
   "title": "Corrections & takedown",
   "text": "Errors usually originate upstream in reporting — check the linked source. As on the map’s Disclaimer and About pages, this project publishes no dedicated corrections email; re-read the terms via the map footer (Disclaimer / Terms) or the About page. Rights-holders and readers can request corrections or removal through the same About-page route; corrected items are replaced in the next weekly edition."
  },
  {
   "title": "No warranty; limitation of liability; not legal advice",
   "text": "Provided “AS IS” and “AS AVAILABLE,” without warranty of accuracy, completeness, timeliness, or fitness for any purpose. To the maximum extent permitted by law, operators and contributors are not liable for any damages arising from use of this page. Use at your own risk. Nothing here is legal advice and no attorney–client relationship is created. If you are in a conflict zone, contact official authorities, the Red Cross / ICRC, or UNHCR — not this site."
  }
 ]
}