{
 "conflict": "ukraine-russia",
 "title": "Ukraine–Russia",
 "short": "UKRAINE–RUSSIA",
 "site": "https://ukraine-russia-claim-map-2026.pages.dev",
 "reportDate": "2026-10-30",
 "window": {
  "start": "2026-10-24T00:00:00Z",
  "end": "2026-10-30T23:59:59Z"
 },
 "generatedAt": "2026-10-30T19:19:03Z",
 "dataCutoff": "2026-10-30T13:45:30Z",
 "label": "UNVERIFIED / CLAIMED — INFO/SA ONLY",
 "totalsLabel": "CLAIMED TOTAL, UNVERIFIED",
 "counts": {
  "claims": 311,
  "bySide": {
   "Russia": 189,
   "Ukraine": 97,
   "Other": 23,
   "Unknown": 2
  },
  "byType": {
   "strike": 134,
   "movement": 103,
   "other": 44,
   "air_defense": 21,
   "civilian_vessel": 5,
   "unit_sighting": 2,
   "naval": 2
  },
  "byStatus": {
   "official_statement": 136,
   "not_verified": 133,
   "corroborated": 39,
   "contradicted": 3
  },
  "sources": 298,
  "topLocations": [
   [
    "Kyiv (EST)",
    4
   ],
   [
    "Zaporizhzhia city (EST)",
    4
   ],
   [
    "Oleshky, Kherson obl. (occupied)",
    4
   ],
   [
    "Pokrovsk / Dobropillia direction (summary pin, EST)",
    4
   ],
   [
    "Lozova, Kharkiv obl. (EST)",
    3
   ],
   [
    "Oleshky, Kherson obl. (EST)",
    3
   ]
  ]
 },
 "bluf": [
  "311 open-source claim records were logged on this map between 24 Oct and 30 Oct 2026 (UTC), citing 298 distinct source links. All are UNVERIFIED / CLAIMED. Map side tags: Russia 189, Ukraine 97, Other 23, Unknown 2.",
  "Most-reported locations: Kyiv (EST) (4); Zaporizhzhia city (EST) (4); Oleshky, Kherson obl. (occupied) (4); Pokrovsk / Dobropillia direction (summary pin, EST) (4); Lozova, Kharkiv obl. (EST) (3).",
  "25 civilians in Ukraine (gov't-controlled areas) killed, claimed by Ukrainian local / regional officials & emergency services (10 event(s), deduped) — CLAIMED TOTAL, UNVERIFIED (10 claim records).",
  "105–109 civilians in Ukraine (gov't-controlled areas) wounded, claimed by Ukrainian local / regional officials & emergency services (19 event(s), deduped) — CLAIMED TOTAL, UNVERIFIED (19 claim records).",
  "2 civilians in Russia / Russian-occupied areas killed, claimed by Russian regional officials (2 event(s), deduped) — CLAIMED TOTAL, UNVERIFIED (2 claim records).",
  "31–41 civilians in Russia / Russian-occupied areas wounded, claimed by Russian regional officials (7 event(s), deduped) — CLAIMED TOTAL, UNVERIFIED (7 claim records).",
  "Russia side: 100 Russia personnel killed, claimed by Ukrainian President / Cabinet (1 event(s), deduped) — CLAIMED TOTAL, UNVERIFIED (1 claim record).",
  "Territorial gain/advance claims this week — Independent analysts / OSINT: 8; Media report: Suriyakmaps: 3; RU MoD: 3; Media report: Suriyak_maps: 2. No assessed change in the map’s EST territory layer.",
  "Units layer: 46 new unit/actor entries and 26 EST position updates (≥5 km) — all NOT CONFIRMED / ESTIMATED.",
  "80 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": "civ_killed",
   "label": "Civilians killed",
   "low": 25.0,
   "high": 25.0,
   "claimant": "Ukrainian local / regional officials & emergency services",
   "nClaims": 10,
   "basis": "per-event sum (deduped)",
   "text": "25 civilians in Ukraine (gov't-controlled areas) killed, claimed by Ukrainian local / regional officials & emergency services (10 event(s), deduped)"
  },
  {
   "side": "Ukraine",
   "metric": "civ_wounded",
   "label": "Civilians wounded / injured",
   "low": 105.0,
   "high": 109.0,
   "claimant": "Ukrainian local / regional officials & emergency services",
   "nClaims": 19,
   "basis": "per-event sum (deduped)",
   "text": "105–109 civilians in Ukraine (gov't-controlled areas) wounded, claimed by Ukrainian local / regional officials & emergency services (19 event(s), deduped)"
  },
  {
   "side": "Russia",
   "metric": "civ_killed",
   "label": "Civilians killed",
   "low": 2,
   "high": 2,
   "claimant": "Russian regional officials",
   "nClaims": 2,
   "basis": "per-event sum (deduped)",
   "text": "2 civilians in Russia / Russian-occupied areas killed, claimed by Russian regional officials (2 event(s), deduped)"
  },
  {
   "side": "Russia",
   "metric": "civ_wounded",
   "label": "Civilians wounded / injured",
   "low": 31.0,
   "high": 41.0,
   "claimant": "Russian regional officials",
   "nClaims": 7,
   "basis": "per-event sum (deduped)",
   "text": "31–41 civilians in Russia / Russian-occupied areas wounded, claimed by Russian regional officials (7 event(s), deduped)"
  },
  {
   "side": "Russia",
   "metric": "killed",
   "label": "Personnel killed",
   "low": 100.0,
   "high": 100.0,
   "claimant": "Ukrainian President / Cabinet",
   "nClaims": 1,
   "basis": "per-event sum (deduped)",
   "text": "Russia side: 100 Russia personnel killed, claimed by Ukrainian President / Cabinet (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": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 25.0,
     "high": 25.0,
     "nClaims": 10,
     "nEvents": 10,
     "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-24",
       "loc": "Konotop district, Sumy obl. (EST)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "ukrinform-20261024-konotop-farm-uav",
         "url": "https://www.ukrinform.net/rubric-ato/4177835-russian-drones-attack-farm-in-sumy-region-one-killed-four-injured.html",
         "text": "1 farm worker killed, 4 injured"
        }
       ]
      },
      {
       "date": "2026-10-24",
       "loc": "Chernihiv",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "ukrinform-20261024-chernihiv-strike",
         "url": "https://www.ukrinform.net/rubric-ato/4177845-russian-forces-strike-chernihiv-fire-breaks-out-two-injured.html",
         "text": "Region: 1 killed, 18 injured over past day"
        }
       ]
      },
      {
       "date": "2026-10-24",
       "loc": "Kharkiv, Novobavarskyi district (pinned city, EST)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "ukrinform-20261024-kharkiv-novobavarskyi-jet-uav",
         "url": "https://www.ukrinform.net/rubric-ato/4177887-russian-drone-attack-on-kharkiv-kills-one-person-and-injures-others.html",
         "text": "1 killed, 4 injured"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Pavlohrad, Dnipropetrovsk obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-dniproODA-32845-pavlohrad-drone-1-killed",
         "url": "https://t.me/dnipropetrovskaODA/32845",
         "text": "Dnipropetrovsk ODA (Hanzha): Russian drone strike on Pavlohrad killed one person and injured at least three, including two 10-year-old girls"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Kyiv, Desnianskyi district — SUTE campus / Kyoto Park / Lisova metro (EST)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "tg-zelenskiy-21531-kyiv-university-ballistic",
         "url": "https://t.me/V_Zelenskiy_official/21531",
         "text": "Klitschko/Kyiv Independent/Kyiv Post: 1 killed (body found in a partly destroyed building in Dniprovskyi district), 10 injured (mostly students of the State University of Trade and Economics dorms), ambulance crew hit, two medical facilities and a school damag"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Sarny district, Rivne obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-ukrinform-172262-sarny-enterprise-strike",
         "url": "https://t.me/ukrinform_news/172262",
         "text": "one man killed"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Shostka district (Sumy obl., EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "web-ukrinform-4179118-sumy-deminers-killed-shostka",
         "url": "https://www.ukrinform.net/rubric-ato/4179118-two-state-emergency-service-bomb-disposal-experts-killed-during-demining-operation-in-sumy-region.html",
         "text": "Ukrinform citing SES head Danik: two SES deminers were killed when a Russian munition detonated during humanitarian demining in Shostka district, Sumy obl"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Kremenchuk, Poltava obl. (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "tg-suspilne-78410-kremenchuk-apartment",
         "url": "https://t.me/suspilnenews/78410",
         "text": "Poltava OVA reports two killed incl. a six-year-old and later 11 injured"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Dnipro main railway station (EST)",
       "lo": 14.0,
       "hi": 14.0,
       "refs": [
        {
         "id": "tg-dniproODA-32912-dnipro-station-strike",
         "url": "https://t.me/dnipropetrovskaODA/32912",
         "text": "Dnipropetrovsk OVA reports 14 killed and 14 injured"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Kyiv (Darnytskyi / Dniprovskyi districts) (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "web-reuters-20261029-kyiv-ballistic-1-killed",
         "url": "https://www.investing.com/news/world-news/ukrainian-capital-kyiv-under-attack-from-russian-ballistic-missiles-mayor-says-4985336",
         "text": "Reuters: Russian ballistic missile attack on Kyiv just before 23:00 local, 29 Oct, killed one person"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: ukrinform_news",
     "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-29",
       "loc": "Kremenchuk, Poltava obl. (EST)",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "tg-ukrinform-172305-kremenchuk-toll-28",
         "url": "https://t.me/ukrinform_news/172305",
         "text": "Ukrinform: toll of the 29 Oct Russian attack on Kremenchuk rose to three killed and 28 injured"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Bilenke, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-ukrinform-172317-bilenke-proliska-bus",
         "url": "https://t.me/ukrinform_news/172317",
         "text": "one woman killed, three injured"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: NOELreports",
     "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-24",
       "loc": "Synelnykove, Dnipropetrovsk obl.",
       "lo": 3.0,
       "hi": 3.0,
       "refs": [
        {
         "id": "x-noelreports-20261024-synelnykove-uav",
         "url": "https://x.com/NOELreports/status/2114045374554153033",
         "text": "NOELreports (aggregator): Russian drone struck Synelnykove, 3 killed and 8 injured incl. an 11-year-old girl"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: suspilnenews",
     "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-26",
       "loc": "Yasnohirka (Kramatorsk), Donetsk obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-suspilne-78238-yasnohirka-strike",
         "url": "https://t.me/suspilnenews/78238",
         "text": "Suspilne citing the oblast administration: at least one killed and 10 injured (incl. a 13-year-old girl) in a morning Russian strike on Yasnohirka, Donetsk obl"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: synegubov",
     "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-26",
       "loc": "Novobavarskyi district, Kharkiv (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "tg-synegubov-27089-kharkiv-novobavarskyi-missile",
         "url": "https://t.me/synegubov/27089",
         "text": "Kharkiv governor Synehubov: Russian missile strikes on Kharkiv's Novobavarskyi district killed two people and injured four (incl. a 17-year-old girl)"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 105.0,
     "high": 109.0,
     "nClaims": 19,
     "nEvents": 19,
     "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-24",
       "loc": "Zaporizhzhia city (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "zoda-20261024-zaporizhzhia-infra-dniprohes-closed",
         "url": "https://t.me/zoda_gov_ua/68620",
         "text": "Zaporizhzhia OVA: Russia attacked an infrastructure facility in Zaporizhzhia, two people injured preliminarily"
        }
       ]
      },
      {
       "date": "2026-10-24",
       "loc": "Pokrovske hromada, Nikopol district, Dnipropetrovsk obl. (EST)",
       "lo": 4.0,
       "hi": 4.0,
       "refs": [
        {
         "id": "ukrinform-20261024-nikopol-pokrovske-uav",
         "url": "https://www.ukrinform.net/rubric-ato/4177810-four-people-injured-in-russian-drone-attack-in-nikopol-district-including-child.html",
         "text": "Governor Hanzha via Ukrinform: Russian drone attack in Pokrovske community, Nikopol district injured 4 incl. a 14-year-old boy (critical)"
        }
       ]
      },
      {
       "date": "2026-10-24",
       "loc": "Sloviansk, Donetsk obl.",
       "lo": 2.0,
       "hi": 2.0,
       "refs": [
        {
         "id": "ukrinform-20261024-sloviansk-fab",
         "url": "https://www.ukrinform.net/rubric-ato/4177867-russian-airstrikes-on-sloviansk-injure-two-people-and-damage-buildings.html",
         "text": "2 wounded"
        }
       ]
      },
      {
       "date": "2026-10-24",
       "loc": "Konotop district, Sumy obl. (EST)",
       "lo": 4.0,
       "hi": 4.0,
       "refs": [
        {
         "id": "ukrinform-20261024-konotop-farm-uav",
         "url": "https://www.ukrinform.net/rubric-ato/4177835-russian-drones-attack-farm-in-sumy-region-one-killed-four-injured.html",
         "text": "1 farm worker killed, 4 injured"
        }
       ]
      },
      {
       "date": "2026-10-24",
       "loc": "Chernihiv",
       "lo": 18.0,
       "hi": 18.0,
       "refs": [
        {
         "id": "ukrinform-20261024-chernihiv-strike",
         "url": "https://www.ukrinform.net/rubric-ato/4177845-russian-forces-strike-chernihiv-fire-breaks-out-two-injured.html",
         "text": "Region: 1 killed, 18 injured over past day"
        }
       ]
      },
      {
       "date": "2026-10-24",
       "loc": "Kyiv, Shevchenkivskyi district (pinned city centre, EST)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "ukrinform-20261024-kyiv-shevchenkivskyi-debris",
         "url": "https://www.ukrinform.net/rubric-ato/4177880-drone-debris-falls-on-parking-lot-in-central-kyiv-injuring-one-person.html",
         "text": "Kyiv mayor Klitschko (via Ukrinform): drone debris fell on an open parking lot in central Kyiv (Shevchenkivskyi district), cars damaged, 1 injured, no fire"
        }
       ]
      },
      {
       "date": "2026-10-24",
       "loc": "Kharkiv, Novobavarskyi district (pinned city, EST)",
       "lo": 4.0,
       "hi": 4.0,
       "refs": [
        {
         "id": "ukrinform-20261024-kharkiv-novobavarskyi-jet-uav",
         "url": "https://www.ukrinform.net/rubric-ato/4177887-russian-drone-attack-on-kharkiv-kills-one-person-and-injures-others.html",
         "text": "1 killed, 4 injured"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Pavlohrad, Dnipropetrovsk obl.",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "tg-dniproODA-32845-pavlohrad-drone-1-killed",
         "url": "https://t.me/dnipropetrovskaODA/32845",
         "text": "Dnipropetrovsk ODA (Hanzha): Russian drone strike on Pavlohrad killed one person and injured at least three, including two 10-year-old girls"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Kyiv, Desnianskyi district — SUTE campus / Kyoto Park / Lisova metro (EST)",
       "lo": 10.0,
       "hi": 10.0,
       "refs": [
        {
         "id": "tg-zelenskiy-21531-kyiv-university-ballistic",
         "url": "https://t.me/V_Zelenskiy_official/21531",
         "text": "Klitschko/Kyiv Independent/Kyiv Post: 1 killed (body found in a partly destroyed building in Dniprovskyi district), 10 injured (mostly students of the State University of Trade and Economics dorms), ambulance crew hit, two medical facilities and a school damag"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Derhachi, Kharkiv obl. (EST)",
       "lo": 1.0,
       "hi": 5.0,
       "refs": [
        {
         "id": "tg-synegubov-27099-derhachi-missile",
         "url": "https://t.me/synegubov/27099",
         "text": "injured later rose to 5. Separately drones hit Kharkiv city districts (Slobidskyi, Shevchenkivskyi"
        },
        {
         "id": "tg-synegubov-27099-derhachi-missile",
         "url": "https://t.me/synegubov/27099",
         "text": "1 injured, Kholodnohirskyi) and a building hypermarket (Tsaplienko)"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Osnovianskyi district, Kharkiv (EST)",
       "lo": 4.0,
       "hi": 4.0,
       "refs": [
        {
         "id": "tg-synegubov-27134-kharkiv-osnovianskyi-drone",
         "url": "https://t.me/synegubov/27134",
         "text": "4 injured incl. a 4-year-old boy"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Osnovianskyi district, Kharkiv (EST)",
       "lo": 4.0,
       "hi": 4.0,
       "refs": [
        {
         "id": "tg-synegubov-27165-kharkiv-osnovianskyi-1-killed",
         "url": "https://t.me/synegubov/27165",
         "text": "a 60-year-old man was killed and at least 4 injured"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Dnipro (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "web-ukrinform-4179154-dnipro-factory-strike",
         "url": "https://www.ukrinform.net/rubric-ato/4179154-russian-strike-sparks-fire-at-factory-in-dnipro.html",
         "text": "Interfax-UA reports one man injured"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Chernihiv (EST)",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "web-ukrinform-4179173-chernihiv-vet-center-bandrol",
         "url": "https://www.ukrinform.net/rubric-ato/4179173-russian-strike-damages-veterinary-center-in-chernihiv-killing-dog-and-injuring-three-women.html",
         "text": "Ukrinform citing National Police: a Russian 'Bandrol' missile-drone hit a veterinary centre in Chernihiv around 16:00 on 28 Oct, injuring three women and killing a dog"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Kremenchuk, Poltava obl. (EST)",
       "lo": 11.0,
       "hi": 11.0,
       "refs": [
        {
         "id": "tg-suspilne-78410-kremenchuk-apartment",
         "url": "https://t.me/suspilnenews/78410",
         "text": "Poltava OVA reports two killed incl. a six-year-old and later 11 injured"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Dnipro main railway station (EST)",
       "lo": 14.0,
       "hi": 14.0,
       "refs": [
        {
         "id": "tg-dniproODA-32912-dnipro-station-strike",
         "url": "https://t.me/dnipropetrovskaODA/32912",
         "text": "Dnipropetrovsk OVA reports 14 killed and 14 injured"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Lozova, Kharkiv obl. (EST)",
       "lo": 6,
       "hi": 6,
       "refs": [
        {
         "id": "tg-rbcua-210297-lozova-missile",
         "url": "https://t.me/RBC_ua_news/210297",
         "text": "Kharkiv OVA: Russian missile strike on Lozova injured six men"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Izium, Kharkiv obl. (EST)",
       "lo": 5,
       "hi": 5,
       "refs": [
        {
         "id": "tg-suspilne-78425-izium-kab-apartment",
         "url": "https://t.me/suspilnenews/78425",
         "text": "at least five injured, people may be under rubble (Kharkiv OVA Syniehubov)"
        }
       ]
      },
      {
       "date": "2026-10-30",
       "loc": "Shostka community, Sumy obl. (EST)",
       "lo": 8.0,
       "hi": 8.0,
       "refs": [
        {
         "id": "web-ki-20261030-shostka-strike",
         "url": "https://kyivindependent.com/russian-strike-on-sumy-oblast-kills-1-injures-8-people/",
         "text": "Kyiv Independent citing Governor Hryhorov: Russian drone strike on a civilian enterprise in Shostka community killed a 43-year-old woman and injured 8. Unverified / EST"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Ukrainian military units / commands",
     "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-24",
       "loc": "Obolon district, Kyiv (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "ukrinform-20261024-kyiv-obolon-house-2-injured",
         "url": "https://t.me/ukrinform_news/172045",
         "text": "Kyiv City Military Administration (via Ukrinform / Kyiv Independent): a Russian drone hit a private house in Obolon district overnight, injuring two people"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Zaporizhzhia",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-zoda-20261026-zaporizhzhia-night-strike-1-injured",
         "url": "https://t.me/zoda_gov_ua/68644",
         "text": "private houses, cars and a commercial building damaged, fire at one impact site, one person injured (preliminary)"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: synegubov",
     "low": 6,
     "high": 6,
     "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-24",
       "loc": "Lozova, Kharkiv obl. (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "synegubov-20261024-lozova-missile-1-killed",
         "url": "https://t.me/synegubov/27001",
         "text": "a 45-year-old man died and two men were injured"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Novobavarskyi district, Kharkiv (EST)",
       "lo": 4,
       "hi": 4,
       "refs": [
        {
         "id": "tg-synegubov-27089-kharkiv-novobavarskyi-missile",
         "url": "https://t.me/synegubov/27089",
         "text": "Kharkiv governor Synehubov: Russian missile strikes on Kharkiv's Novobavarskyi district killed two people and injured four (incl. a 17-year-old girl)"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Ukrainian President / Cabinet",
     "low": 21.0,
     "high": 37.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-25",
       "loc": "Vinnytsia (apartment building) — weekly totals",
       "lo": 6.0,
       "hi": 22.0,
       "refs": [
        {
         "id": "tg-zelensky-20261025-weekly-vinnytsia",
         "url": "https://t.me/V_Zelenskiy_official/21520",
         "text": "a Russian drone hit an apartment building in Vinnytsia (6 injured)"
        },
        {
         "id": "tg-zelensky-20261025-weekly-vinnytsia",
         "url": "https://t.me/V_Zelenskiy_official/21520",
         "text": "Dnipropetrovsk shelling killed 4, 22 injured"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Southern (Pivdennyi) Bridge, Kyiv (EST)",
       "lo": 15.0,
       "hi": 15.0,
       "refs": [
        {
         "id": "tg-zelenskiy-21532-southern-bridge-16-ballistic",
         "url": "https://t.me/V_Zelenskiy_official/21532",
         "text": "Ukranews: woman (46) killed, 15 injured in Kyiv, metro green line running only Syrets–Vydubychi"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: ukrinform_news",
     "low": 31.0,
     "high": 31.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-29",
       "loc": "Kremenchuk, Poltava obl. (EST)",
       "lo": 28.0,
       "hi": 28.0,
       "refs": [
        {
         "id": "tg-ukrinform-172305-kremenchuk-toll-28",
         "url": "https://t.me/ukrinform_news/172305",
         "text": "Ukrinform: toll of the 29 Oct Russian attack on Kremenchuk rose to three killed and 28 injured"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Bilenke, Zaporizhzhia obl. (EST)",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "tg-ukrinform-172317-bilenke-proliska-bus",
         "url": "https://t.me/ukrinform_news/172317",
         "text": "one woman killed, three injured"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: NOELreports",
     "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-24",
       "loc": "Synelnykove, Dnipropetrovsk obl.",
       "lo": 8.0,
       "hi": 8.0,
       "refs": [
        {
         "id": "x-noelreports-20261024-synelnykove-uav",
         "url": "https://x.com/NOELreports/status/2114045374554153033",
         "text": "NOELreports (aggregator): Russian drone struck Synelnykove, 3 killed and 8 injured incl. an 11-year-old girl"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: dnipropetrovskaODA",
     "low": 13.0,
     "high": 13.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-25",
       "loc": "Synelnykove, Dnipropetrovsk obl.",
       "lo": 13.0,
       "hi": 13.0,
       "refs": [
        {
         "id": "tg-dnipro-oda-20261025-synelnykove-toll-4",
         "url": "https://t.me/dnipropetrovskaODA/32831",
         "text": "13 injured, 4 in serious condition"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: zoda_gov_ua",
     "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-25",
       "loc": "Zaporizhzhia city (bus stop; pinned city, EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "tg-zoda-20261025-zaporizhzhia-fpv-bus-stop",
         "url": "https://t.me/zoda_gov_ua/68631",
         "text": "two men injured (preliminary)"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: Ukrainska Pravda",
     "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-25",
       "loc": "Kherson, Tsentralnyi district",
       "lo": 6,
       "hi": 6,
       "refs": [
        {
         "id": "web-up-20261025-kherson-bus-drone-1-killed",
         "url": "https://www.pravda.com.ua/eng/news/2026/10/25/8059643/",
         "text": "six injured, a 67-year-old man later died in hospital"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: suspilnenews",
     "low": 10.0,
     "high": 10.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-26",
       "loc": "Yasnohirka (Kramatorsk), Donetsk obl.",
       "lo": 10.0,
       "hi": 10.0,
       "refs": [
        {
         "id": "tg-suspilne-78238-yasnohirka-strike",
         "url": "https://t.me/suspilnenews/78238",
         "text": "Suspilne citing the oblast administration: at least one killed and 10 injured (incl. a 13-year-old girl) in a morning Russian strike on Yasnohirka, Donetsk obl"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: Ukrinform",
     "low": 15.0,
     "high": 23.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-29",
       "loc": "Chernihiv city centre (EST)",
       "lo": 15.0,
       "hi": 23.0,
       "refs": [
        {
         "id": "tg-ukrinform-172290-chernihiv-centre-strike",
         "url": "https://t.me/ukrinform_news/172290",
         "text": "Russian strike on central Chernihiv: two 15-year-old girls killed and at least 15 injured incl. three children (Ukrinform"
        },
        {
         "id": "tg-ukrinform-172290-chernihiv-centre-strike",
         "url": "https://t.me/ukrinform_news/172290",
         "text": "Suspilne later says 23 injured per RBC-Ukraine)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:drones",
     "category": "Equipment / infrastructure",
     "label": "Drones / UAVs",
     "claimant": "Russian regional officials",
     "low": 581.0,
     "high": 581.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-24",
       "loc": "Rostov-on-Don / Taganrog / Myasnikovsky district (EST)",
       "lo": 80.0,
       "hi": 80.0,
       "refs": [
        {
         "id": "interfax-20261024-rostov-80-uav-kalinin",
         "url": "https://t.me/interfaxonline/80627",
         "text": "Rostov governor Slyusar (via Interfax): over 80 UAVs destroyed overnight over Rostov-on-Don, Taganrog and 9 districts"
        }
       ]
      },
      {
       "date": "2026-10-25",
       "loc": "Kursk obl., RF (Kozyrevka, Bolshesoldatsky district; pinned approx)",
       "lo": 174.0,
       "hi": 174.0,
       "refs": [
        {
         "id": "tg-kurskadm-20261025-174-uav-kozyrevka",
         "url": "https://t.me/kurskadm/112108",
         "text": "Kursk governor Khinshtein: 174 UA drones downed 24–25 Oct"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Voronezh, RF",
       "lo": 113.0,
       "hi": 113.0,
       "refs": [
        {
         "id": "tg-tass-402414-voronezh-drone-attack-3-dead",
         "url": "https://t.me/tass_agency/402414",
         "text": "RU officials: 113 Ukrainian drones downed over Voronezh obl"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Lgov, Kursk obl. (EST)",
       "lo": 169.0,
       "hi": 169.0,
       "refs": [
        {
         "id": "tg-kurskadm-112189-lgov-gas-station",
         "url": "https://t.me/kurskadm/112189",
         "text": "Daily summary (112187): 169 drones downed in 24h"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Novomoskovsk Azot plant, Tula obl. (EST)",
       "lo": 45.0,
       "hi": 45.0,
       "refs": [
        {
         "id": "web-meduza-20261028-tula-novomoskovsk-azot",
         "url": "https://meduza.io/en/news/2026/10/28/ukrainian-drones-strike-russia-s-tula-region-reportedly-sparking-fire-at-chemical-plant",
         "text": "Fire also reported at NLMK steel plant, Lipetsk (governor: 45 drones downed over region)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:drones",
     "category": "Equipment / infrastructure",
     "label": "Drones / UAVs",
     "claimant": "RU MoD",
     "low": 770.0,
     "high": 770.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-25",
       "loc": "Western Russia (pinned Bryansk, EST)",
       "lo": 38.0,
       "hi": 38.0,
       "refs": [
        {
         "id": "tg-modrussia-20261025-38-uav-daytime",
         "url": "https://t.me/mod_russia/68533",
         "text": "RF MoD: 38 Ukrainian drones intercepted 08:00–20:00 MSK over Bryansk, Belgorod, Kursk, Oryol, Perm, Smolensk, Tver regions and the Black Sea"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Western Russia (Belgorod–Moscow region) (EST)",
       "lo": 71.0,
       "hi": 71.0,
       "refs": [
        {
         "id": "tg-mod-russia-68589-71-uav-daytime-20261027",
         "url": "https://t.me/mod_russia/68589",
         "text": "RF MoD: between 08:00 and 20:00 MSK air defence intercepted 71 Ukrainian UAVs over Belgorod, Bryansk, Kaluga, Kursk, Oryol, Tula oblasts and the Moscow region (also TASS)"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Novomoskovsk Azot plant, Tula obl. (EST)",
       "lo": 531.0,
       "hi": 531.0,
       "refs": [
        {
         "id": "web-meduza-20261028-tula-novomoskovsk-azot",
         "url": "https://meduza.io/en/news/2026/10/28/ukrainian-drones-strike-russia-s-tula-region-reportedly-sparking-fire-at-chemical-plant",
         "text": "RF MoD: 531 UAVs intercepted overnight over 13 regions"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Belgorod / Bryansk / Kursk / Oryol / Voronezh / Ryazan / Tula obl. (summary pin Kursk, EST)",
       "lo": 90.0,
       "hi": 90.0,
       "refs": [
        {
         "id": "tg-mod-68612-90-uav-daytime-20261028",
         "url": "https://t.me/mod_russia/68612",
         "text": "RF MoD: 90 Ukrainian UAVs intercepted 08:00–20:00 MSK over seven Russian regions"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Belgorod / Bryansk / Kursk / Oryol obl. + Perm krai (EST)",
       "lo": 40.0,
       "hi": 40.0,
       "refs": [
        {
         "id": "tg-modrus-68633-40-uav-day",
         "url": "https://t.me/mod_russia/68633",
         "text": "RF MoD: 40 Ukrainian drones intercepted 08:00–20:00 MSK 29 Oct over Belgorod, Bryansk, Kursk, Oryol oblasts and Perm krai"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:vehicles",
     "category": "Equipment / infrastructure",
     "label": "Vehicles / special equipment",
     "claimant": "RU MoD",
     "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-26",
       "loc": "Chornomorsk port, Odesa obl. (also Kharkiv, Olshany, Kamianets-Podilskyi)",
       "lo": 5.0,
       "hi": 5.0,
       "refs": [
        {
         "id": "tg-modrussia-68548-overnight-strikes-chornomorsk-kharkiv",
         "url": "https://t.me/mod_russia/68548",
         "text": "Rozhin later posted claimed footage of 5 bulk carriers hit by Geran drones in the Black Sea"
        }
       ]
      }
     ]
    },
    {
     "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-25",
       "loc": "Black Sea, approaches to Odesa (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-modrussia-20261025-odesa-bound-cargo-ship",
         "url": "https://t.me/mod_russia/68530",
         "text": "RF MoD: during the day drones struck a dry-cargo ship at sea that was carrying cargo to Odesa port 'for the AFU'. Also TASS 402270. Unverified / EST"
        }
       ]
      },
      {
       "date": "2026-10-30",
       "loc": "Alisivka (Kharkiv) / Barylivka (Sumy) / Obshche (Zaporizhzhia) (EST — plotted Alisivka)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tass-2210903-mod-weekly-alisivka-barylivka-obshche",
         "url": "https://tass.com/politics/2210903",
         "text": "11 dry-cargo ships hit"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "RU MoD",
     "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-26",
       "loc": "Chornomorsk port, Odesa obl. (also Kharkiv, Olshany, Kamianets-Podilskyi)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-modrussia-68548-overnight-strikes-chornomorsk-kharkiv",
         "url": "https://t.me/mod_russia/68548",
         "text": "RF MoD: overnight drone strikes hit a long/medium-range UAV depot in Olshany (Kharkiv obl.), PS-330 'Zaliutyne' substation in Kharkiv, a PS-330 substation in Kamianets-Podilskyi, three berth terminals and four warehouses at Chornomorsk port, and a cargo ship a"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Lutsk / Kovel (Volyn) + Kharkiv (multi-target, pin Lutsk EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-mod-68608-day-strikes-kharkiv-lutsk-kovel",
         "url": "https://t.me/mod_russia/68608",
         "text": "RF MoD: daytime drone strikes hit a logistics centre in Kharkiv, PS-330 'Lutsk-Severnaya' substation in Lutsk and a PS-330 substation in Kovel, plus a dry-cargo ship heading to Chornomorsk"
        }
       ]
      },
      {
       "date": "2026-10-30",
       "loc": "Kyiv / Khotiv, Kyiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-mod-68642-mass-strike-kyiv-20261030",
         "url": "https://t.me/mod_russia/68642",
         "text": "RF MoD: overnight massed strike hit Kyiv Radio Plant/Trimen-Ukraine and the Fanplit UAV assembly site (FP-1/FP-2), PS-330 Novokyivska substation in Khotiv, PS-330 Svitle substation (Dnipropetrovsk obl.) and a dry-cargo ship bound for Odesa"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (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-24",
       "loc": "Vinnytsia obl., unnamed district (pinned Vinnytsia, EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261024-vinnytsia-energy-strike",
         "url": "https://www.ukrinform.net/rubric-ato/4177886-russian-attack-leaves-one-district-in-vinnytsia-region-without-power.html",
         "text": "Vinnytsia ODA head Zabolotna (via Ukrinform): Russian strike on an energy facility caused an emergency power outage in one district of Vinnytsia region"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (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-25",
       "loc": "Vinnytsia (apartment building) — weekly totals",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-zelensky-20261025-weekly-vinnytsia",
         "url": "https://t.me/V_Zelenskiy_official/21520",
         "text": "hits on TPP, substations, mines, grain stores in 9 oblasts"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Media report: boris_rozhin",
     "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-25",
       "loc": "Darnytsia CHP, Kyiv",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-rozhin-20261025-kyiv-darnytsia-chp-strike",
         "url": "https://t.me/boris_rozhin/231008",
         "text": "Boris Rozhin (pro-RU, citing @Sever_Z): video shows the Darnytsia combined heat and power plant in Kyiv burning after a Russian strike, with power cut in the district"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 10,
     "high": 10,
     "nClaims": 10,
     "nEvents": 10,
     "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-24",
       "loc": "Sloviansk, Donetsk obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261024-sloviansk-fab",
         "url": "https://www.ukrinform.net/rubric-ato/4177867-russian-airstrikes-on-sloviansk-injure-two-people-and-damage-buildings.html",
         "text": "high-rises, two schools, admin building, infrastructure facility damaged"
        }
       ]
      },
      {
       "date": "2026-10-24",
       "loc": "Bezliudivka hromada, Kharkiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261024-bezliudivka-warehouse",
         "url": "https://www.ukrinform.net/rubric-ato/4177872-russian-attack-sparks-warehouse-fire-in-kharkiv-suburb.html",
         "text": "Ukrinform/SES: Russian drone hit roof of a private company's warehouse in Bezliudivka community (Kharkiv suburb) in the evening, causing a fire"
        }
       ]
      },
      {
       "date": "2026-10-24",
       "loc": "Kharkiv, Novobavarskyi district (pinned city, EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261024-kharkiv-novobavarskyi-jet-uav",
         "url": "https://www.ukrinform.net/rubric-ato/4177887-russian-drone-attack-on-kharkiv-kills-one-person-and-injures-others.html",
         "text": "a one-storey building caught fire"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Kyiv, Desnianskyi district — SUTE campus / Kyoto Park / Lisova metro (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-zelenskiy-21531-kyiv-university-ballistic",
         "url": "https://t.me/V_Zelenskiy_official/21531",
         "text": "Klitschko/Kyiv Independent/Kyiv Post: 1 killed (body found in a partly destroyed building in Dniprovskyi district), 10 injured (mostly students of the State University of Trade and Economics dorms), ambulance crew hit, two medical facilities and a school damag"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Derhachi, Kharkiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-synegubov-27099-derhachi-missile",
         "url": "https://t.me/synegubov/27099",
         "text": "Kharkiv OVA Synehubov: RU missile strike on Derhachi hit a warehouse building, damaged gas-station equipment and a car"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Kramatorsk, Donetsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-ukrinform-172202-kramatorsk-double-tap",
         "url": "https://t.me/ukrinform_news/172202",
         "text": "Ukrinform citing SES: RU strikes set a 9-storey building and private houses on fire in Kramatorsk"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Osnovianskyi district, Kharkiv (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-synegubov-27134-kharkiv-osnovianskyi-drone",
         "url": "https://t.me/synegubov/27134",
         "text": "Kharkiv OVA Synehubov / mayor Terekhov: a RU drone hit an apartment building in Kharkiv's Osnovianskyi district, causing a fire"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Kremenchuk, Poltava obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-suspilne-78410-kremenchuk-apartment",
         "url": "https://t.me/suspilnenews/78410",
         "text": "Russian drone hit an apartment block in Kremenchuk"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Izium, Kharkiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-suspilne-78425-izium-kab-apartment",
         "url": "https://t.me/suspilnenews/78425",
         "text": "Russian KAB hit a five-storey building in Izium"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Kyiv (Darnytskyi / Dniprovskyi districts) (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "web-reuters-20261029-kyiv-ballistic-1-killed",
         "url": "https://www.investing.com/news/world-news/ukrainian-capital-kyiv-under-attack-from-russian-ballistic-missiles-mayor-says-4985336",
         "text": "warehouses ablaze on the east bank, missile debris damaged a residential building (Klitschko)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "RU MoD",
     "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-24",
       "loc": "Chornomorsk port, Odesa obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "rfmod-20261024-chornomorsk-usv-workshop-cargo-ship",
         "url": "https://t.me/mod_russia/68492",
         "text": "an uncrewed-boat production workshop hit in Chornomorsk port, and a dry-cargo ship carrying cargo for the UA military to Odesa hit at sea"
        }
       ]
      },
      {
       "date": "2026-10-25",
       "loc": "Kharkiv (Epicentr logistics centre, Vasyshcheve terminal; pinned city, EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-modrussia-20261025-kharkiv-logistics-ship-chornomorsk",
         "url": "https://t.me/mod_russia/68513",
         "text": "Synehubov separately reports a hypermarket and warehouses damaged in Kharkiv"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Chornomorsk port, Odesa obl. (also Kharkiv, Olshany, Kamianets-Podilskyi)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-modrussia-68548-overnight-strikes-chornomorsk-kharkiv",
         "url": "https://t.me/mod_russia/68548",
         "text": "RF MoD: overnight drone strikes hit a long/medium-range UAV depot in Olshany (Kharkiv obl.), PS-330 'Zaliutyne' substation in Kharkiv, a PS-330 substation in Kamianets-Podilskyi, three berth terminals and four warehouses at Chornomorsk port, and a cargo ship a"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Kyiv (claimed targets, EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-modrussia-68576-massive-strike-kyiv-kharkiv",
         "url": "https://t.me/mod_russia/68576",
         "text": "claims hits in Kyiv on a long/medium-range drone plant, the 'Oakline' workshop assembling Fire Point FP-1/FP-2 drones, another drone workshop and the 'Southern' road-rail bridge"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: synegubov",
     "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-24",
       "loc": "Lozova, Kharkiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "synegubov-20261024-lozova-missile-1-killed",
         "url": "https://t.me/synegubov/27001",
         "text": "Kharkiv governor Synehubov: Russian missile strike on Lozova hit a warehouse building, causing a fire"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Novobavarskyi district, Kharkiv (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-synegubov-27089-kharkiv-novobavarskyi-missile",
         "url": "https://t.me/synegubov/27089",
         "text": "10 garages, 4 houses, 4 apartment blocks and a kindergarten damaged"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Izium, Kharkiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-synegubov-27098-izium-missile",
         "url": "https://t.me/synegubov/27098",
         "text": "Synehubov: RU missile strike on Izium damaged 8 private houses, a garage and 7 cars"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Ukrainian military units / commands",
     "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-24",
       "loc": "Obolon district, Kyiv (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "ukrinform-20261024-kyiv-obolon-house-2-injured",
         "url": "https://t.me/ukrinform_news/172045",
         "text": "Kyiv City Military Administration (via Ukrinform / Kyiv Independent): a Russian drone hit a private house in Obolon district overnight, injuring two people"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Zaporizhzhia",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-zoda-20261026-zaporizhzhia-night-strike-1-injured",
         "url": "https://t.me/zoda_gov_ua/68644",
         "text": "private houses, cars and a commercial building damaged, fire at one impact site, one person injured (preliminary)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Ukrainian President / Cabinet",
     "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-25",
       "loc": "Vinnytsia (apartment building) — weekly totals",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-zelensky-20261025-weekly-vinnytsia",
         "url": "https://t.me/V_Zelenskiy_official/21520",
         "text": "a Russian drone hit an apartment building in Vinnytsia (6 injured)"
        },
        {
         "id": "tg-zelensky-20261025-weekly-vinnytsia",
         "url": "https://t.me/V_Zelenskiy_official/21520",
         "text": "hits on TPP, substations, mines, grain stores in 9 oblasts"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Kyiv, Desnianskyi district — SUTE campus / Kyoto Park / Lisova metro (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-zelenskiy-21531-kyiv-university-ballistic",
         "url": "https://t.me/V_Zelenskiy_official/21531",
         "text": "Evening ballistic strike on Kyiv (approx. 19:45Z): Zelensky says missiles hit a university campus, Kyoto Park, the area by a metro station and residential buildings"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: NOELreports",
     "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-24",
       "loc": "Synelnykove, Dnipropetrovsk obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "x-noelreports-20261024-synelnykove-uav",
         "url": "https://x.com/NOELreports/status/2114045374554153033",
         "text": "fire on 4th floor of an apartment block, shop and cars damaged"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: dnipropetrovskaODA",
     "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-25",
       "loc": "Synelnykove, Dnipropetrovsk obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-dnipro-oda-20261025-synelnykove-toll-4",
         "url": "https://t.me/dnipropetrovskaODA/32831",
         "text": "Dnipropetrovsk ODA: death toll from the 24 Oct Russian strike on Synelnykove rose to 4 after a 62-year-old man died in hospital"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: Kyiv Post",
     "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-25",
       "loc": "Poltava (Epicentr shopping centre)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "web-kyivpost-20261025-poltava-epicentr-strike",
         "url": "https://www.kyivpost.com/post/88113",
         "text": "Kyiv Post / Poltava ODA head Diakivnych: Russian strike hit the Epicentr shopping centre in Poltava, causing a fire"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: suspilnenews",
     "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-25",
       "loc": "Yampil, Sumy obl. (roundup; pinned Yampil)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-suspilne-20261025-evening-roundup-yampil-mamekyne",
         "url": "https://t.me/suspilnenews/78205",
         "text": "Russian strike on a private house in Yampil (Sumy obl.) injured a 61-year-old"
        },
        {
         "id": "tg-suspilne-20261025-evening-roundup-yampil-mamekyne",
         "url": "https://t.me/suspilnenews/78205",
         "text": "drone set a grain store on fire in Mamekyne (Chernihiv obl.)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: Tsaplienko",
     "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-26",
       "loc": "Vinnytsia",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-tsaplienko-101047-vinnytsia-epicentr",
         "url": "https://t.me/Tsaplienko/101047",
         "text": "local channels say Russia struck an Epicentr hypermarket"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Russian military units / milbloggers",
     "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-26",
       "loc": "Kyiv (city pin, EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-milinfolive-182203-kyiv-tets-claim",
         "url": "https://t.me/milinfolive/182203",
         "text": "UA officials reported campus/residential damage"
        }
       ]
      }
     ]
    },
    {
     "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-29",
       "loc": "Kremenchuk, Poltava obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-ukrinform-172305-kremenchuk-toll-28",
         "url": "https://t.me/ukrinform_news/172305",
         "text": "apartment blocks, houses and a boarding school damaged"
        }
       ]
      }
     ]
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 24,
     "high": 24,
     "nClaims": 24,
     "nEvents": 24,
     "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": 6,
     "high": 6,
     "nClaims": 7,
     "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": "Media report: synegubov",
     "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: zoda_gov_ua",
     "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: Ukrinform",
     "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": 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": "Ukrainian President / Cabinet",
     "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: suspilnenews",
     "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: ukrinform_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": "Media report: GeoConfirmed",
     "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: dnipropetrovskaODA",
     "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: 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: boris_rozhin",
     "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: GeneralStaffZSU",
     "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: Tsaplienko",
     "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: KyivIndependent",
     "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": "Ukraine GenStaff / MoD",
     "low": 200.0,
     "high": 200.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-28",
       "loc": "Ukraine (national; pin Kyiv, EST)",
       "lo": 88.0,
       "hi": 88.0,
       "refs": [
        {
         "id": "tg-genstaff-42719-overnight-71-of-88-drones",
         "url": "https://t.me/GeneralStaffZSU/42719",
         "text": "UA AF via General Staff: overnight 27–28 Oct RU launched an Iskander-M/S-400 ballistic missile from Taganrog and 88 strike UAVs (Shahed incl. 38 jet-powered, Gerbera, decoys) from Orel, Kursk and Hvardiiske (Crimea)"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Ukraine-wide (pin Kyiv EST)",
       "lo": 112.0,
       "hi": 112.0,
       "refs": [
        {
         "id": "tg-genstaff-42726-97-of-112-uav",
         "url": "https://t.me/GeneralStaffZSU/42726",
         "text": "UA General Staff / Air Force: overnight 29 Oct Russia launched 112 strike drones (40 jet-powered) from Orel, Millerovo and occupied Donetsk"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:drones",
     "category": "Strikes launched against",
     "label": "Launched against: Drones launched/engaged",
     "claimant": "Ukrainian military units / commands",
     "low": 153.0,
     "high": 153.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-25",
       "loc": "Ukraine-wide (pinned Kyiv, EST)",
       "lo": 153.0,
       "hi": 153.0,
       "refs": [
        {
         "id": "tg-genstaff-20261025-overnight-153-uav-119-downed",
         "url": "https://t.me/GeneralStaffZSU/42685",
         "text": "UA GS/Air Force: overnight 24–25 Oct Russia launched 153 Shahed-type strike drones (92 jet-powered) plus decoys"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:drones",
     "category": "Strikes launched against",
     "label": "Launched against: Drones launched/engaged",
     "claimant": "Media report: GeneralStaffZSU",
     "low": 140.0,
     "high": 140.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-26",
       "loc": "Ukraine-wide (pinned Kyiv, EST)",
       "lo": 140.0,
       "hi": 140.0,
       "refs": [
        {
         "id": "tg-genstaff-42690-night-26oct-140-drones",
         "url": "https://t.me/GeneralStaffZSU/42690",
         "text": "UA: night of 26 Oct Russia launched 1 Kh-31P, 3 Kh-59/69 and 140 Shahed-type drones (70 jet-powered), Gerbera and decoys"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:missiles",
     "category": "Strikes launched against",
     "label": "Launched against: Missiles launched/engaged",
     "claimant": "Media report: voenkorKotenok",
     "low": 10.0,
     "high": 10.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-30",
       "loc": "Kremenchuk refinery / TPP, Poltava obl. (EST)",
       "lo": 10.0,
       "hi": 10.0,
       "refs": [
        {
         "id": "tg-kotenok-77127-kremenchuk-refinery-tpp",
         "url": "https://t.me/voenkorKotenok/77127",
         "text": "Voenkor Kotenok (RU): at least 10 missiles hit the Kremenchuk refinery and thermal power plant overnight"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:ground_attacks",
     "category": "Strikes launched against",
     "label": "Launched against: Ground attacks / engagements",
     "claimant": "Media report: grvZapad",
     "low": 4,
     "high": 4,
     "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-25",
       "loc": "Kupiansk / Borova / Lyman directions (EST)",
       "lo": 4,
       "hi": 4,
       "refs": [
        {
         "id": "tg-grvzapad-20261025-kupiansk-lyman-summary",
         "url": "https://t.me/grvZapad/20187",
         "text": "GrV Zapad channel (pro-RU) 25 Oct: four RU attacks on Radkivka with no change"
        }
       ]
      }
     ]
    },
    {
     "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-26",
       "loc": "Central Dobropillia, Donetsk obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "isw-20261025-dobropillia-infiltration-geolocated",
         "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-25-2026",
         "text": "ISW Oct 25: geolocated footage shows RU forces continuing to expand their infiltration zone in central Dobropillia; a Russian milblogger claimed RU seized Bilytske and advanced within and south of Dobropillia (not confirmed by ISW). Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Nova Kozacha, Kharkiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "x-2114746605538562285",
         "url": "https://x.com/Suriyakmaps/status/2114746605538562285",
         "text": "Suriyak Maps (Dergachi front): over three weeks RU took control of most of Nova Kozacha; fighting continues in the south of the village with UA counterattacks. Suriyak Maps (cite-only) weekly update, Day 1700-1704; text truncated at link in X API. Not confirmed by ISW at ingest. Unverified / EST — I"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Kostiantynivka southern outskirts, Donetsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "isw-20261026-kostiantynivka-ua-south-position",
         "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-26-2026",
         "text": "ISW Oct 26: UA forces hold at least one position in the southern outskirts of Kostiantynivka (geolocated footage, 26 Oct), so RU likely lacks firm control there; RU infiltration continues into northern/northeastern Kostiantynivka. ISW relays a Kremlin-affiliated milblogger (Rybar) claim that RU adva"
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "RU MoD",
     "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-26",
       "loc": "Obshche (Obshchee), Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-modrussia-20261026-obshchee-captured",
         "url": "https://t.me/mod_russia/68553",
         "text": "RF MoD: Vostok GoF units 'liberated' the settlement of Obshche (Obshchee), Zaporizhzhia obl. Voin DV: 39th Sep. MRB of 68th Army Corps took it after wedging 5+ km into UA defences, crossing the Solona river and an anti-tank ditch, 'over 12 sq km' taken; claims up to a company of UA 225th Assault Reg"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Obshche, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-modrussia-68573-obshche-5km-solona",
         "url": "https://t.me/mod_russia/68573",
         "text": "RF MoD follow-up on the Obshche capture claim: Vostok troops 'liberated' the village, advanced more than 5 km, crossed the Solona river and cleared over 12 km². Kots names the 39th Sep. MRB (68th AC). ISW Oct 26 had NOT confirmed RU presence at Obshche. Unverified / EST — INFO/SA only. Not for targe"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Barylivka (Sumy obl.) / Alisivka (Kharkiv obl.) (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "web-tass-2209379-rf-mod-alisivka-barylivka",
         "url": "https://tass.com/politics/2209379",
         "text": "RF MoD (via TASS, Telegram): Battlegroup North 'liberated' Alisivka (Derhachi area, Kharkiv obl.) and Barylivka (Sumy obl.). Milbloggers Kots/WarHunter name the 1431st MRR (Alisivka, vs UA 58th Mech Bde) and 41st MRR / 44th AC (Barylivka). Pin at Barylivka. UA 8th Air Assault Corps denies the Baryli"
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Media report: Suriyakmaps",
     "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-25",
       "loc": "Nova Kozacha, Kharkiv obl.",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "x-suriyak-20261025-nova-kozacha-mostly-ru",
         "url": "https://x.com/Suriyakmaps/status/2114434688127291829",
         "text": "Suriyak Maps: over three weeks RU took control of most of Nova Kozacha; fighting continues in the southern part with UA counterattacks. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Shakhove / Dobropillia fronts — Novoandriivka–Rohanske–Andriivka (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "x-suriyak-2115522098840101157-shakhove-dobropillia",
         "url": "https://x.com/Suriyakmaps/status/2115522098840101157",
         "text": "Suriyak weekly summary: RU advanced east and north of Novoandriivka to the outskirts of Rohanske; UA recaptured much of Andriivka; grey zone expanding toward Novoiavlenka / Novotroitske; UA advanced south of Novovodiane; RU took Vesele Pole and entered first buildings of Bilozerske and Bokove. Unver"
        }
       ]
      }
     ]
    },
    {
     "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-28",
       "loc": "Dobropillia / Oleksiievo-Druzhkivka (Donetsk obl.) — pin Dobropillia EST",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "web-tass-2209825-pushilin-hot-spots-dpr",
         "url": "https://tass.com/politics/2209825",
         "text": "TASS: Pushilin says many hot spots remain along the DPR line even after Dobropillia and Oleksiievo-Druzhkivka were 'liberated' (RU claim; disputed by UA/ISW). 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-29",
       "loc": "Omelnyk / Orikhiv front, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-suriyak-13321-orikhiv-weekly",
         "url": "https://t.me/Suriyak_maps/13321",
         "text": "Suriyak Maps weekly (Orikhiv front): RU took positions between Chervona Krynytsia and Yehorivka and entered central Omelnyk; UA advanced into Mala Tokmachka and Novodanylivka and retook positions in Orikhiv. Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_km2",
     "category": "Territory",
     "label": "Territory lost — area stated (km²)",
     "claimant": "RU MoD",
     "low": 12.0,
     "high": 12.0,
     "nClaims": 3,
     "nEvents": 1,
     "sourcesDisagree": false,
     "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 25 (claimed by Ukrainian local / regional officials & emergency services, 10 claims); civilians killed 4 (claimed by Media report: ukrinform_news, 2 claims); civilians killed 3 (claimed by Media report: NOELreports, 1 claim); civilians killed 1 (claimed by Media report: suspilnenews, 1 claim); civilians killed 2 (claimed by Media report: synegubov, 1 claim); civilians wounded / injured 105–109 (claimed by Ukrainian local / regional officials & emergency services, 19 claims); civilians wounded / injured 3 (claimed by Ukrainian military units / commands, 2 claims); civilians wounded / injured 6 (claimed by Media report: synegubov, 2 claims); civilians wounded / injured 21–37 (claimed by Ukrainian President / Cabinet, 2 claims); civilians wounded / injured 31 (claimed by Media report: ukrinform_news, 2 claims); civilians wounded / injured 8 (claimed by Media report: NOELreports, 1 claim); civilians wounded / injured 13 (claimed by Media report: dnipropetrovskaODA, 1 claim); civilians wounded / injured 2 (claimed by Media report: zoda_gov_ua, 1 claim); civilians wounded / injured 6 (claimed by Media report: Ukrainska Pravda, 1 claim); civilians wounded / injured 10 (claimed by Media report: suspilnenews, 1 claim); civilians wounded / injured 15–23 (claimed by Media report: Ukrinform, 1 claim). CLAIMED, UNVERIFIED.",
   "officialTallies": [
    {
     "target": "Ukraine",
     "metric": "mun:ground_attacks",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
     "area": null,
     "days": [
      {
       "date": "2026-10-28",
       "lo": 32.0,
       "hi": 32.0,
       "loc": "Pokrovsk / Dobropillia direction (summary pin, EST)",
       "refs": [
        {
         "id": "tg-genstaff-42718-0800-191-clashes",
         "url": "https://t.me/GeneralStaffZSU/42718",
         "text": "32 RU attacks on Pokrovsk dir"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "lo": 23.0,
       "hi": 23.0,
       "loc": "Front-wide (plotted Kostiantynivka dir.) (EST)",
       "refs": [
        {
         "id": "tg-genstaff-42731-2200-191-clashes",
         "url": "https://t.me/GeneralStaffZSU/42731",
         "text": "23 RU assaults repelled on Kostiantynivka dir., 18 Pokrovsk, 16 Huliaipole, 8 Lyman, 6 South-Slobozhanskyi, 4 Sloviansk, 2 Orikhiv"
        }
       ]
      }
     ],
     "lo": 55.0,
     "hi": 55.0,
     "nClaims": 2
    }
   ]
  },
  "Russia": {
   "side": "Russia",
   "label": "Russia",
   "civLabel": "Civilians in Russia / Russian-occupied areas",
   "rows": [
    {
     "metric": "killed",
     "category": "Personnel",
     "label": "Personnel killed",
     "claimant": "Ukrainian President / Cabinet",
     "low": 100.0,
     "high": 100.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-27",
       "loc": "Kupiansk direction, Kharkiv obl. (EST)",
       "lo": 100.0,
       "hi": 100.0,
       "refs": [
        {
         "id": "tg-zelensky-21534-operation-veles-kupiansk",
         "url": "https://t.me/V_Zelenskiy_official/21534",
         "text": "Zelensky (after reports by Drapatyi, Obolenskyi, Palisa): Operation 'Veles' by the 2nd National Guard Corps 'Khartiia' on the Kupiansk direction has killed 100+ Russian troops, taken 30+ prisoners, with an underground advance of more than 15 km (repurposing ga"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Russian regional officials",
     "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-25",
       "loc": "Zamostye, Graivoron district, Belgorod obl. RF (approx)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-interfax-20261025-belgorod-zamostye-fpv",
         "url": "https://t.me/interfaxonline/80656",
         "text": "Interfax (Belgorod officials): one civilian killed by an FPV drone in Zamostye (Graivoron district)"
        },
        {
         "id": "tg-interfax-20261025-belgorod-zamostye-fpv",
         "url": "https://t.me/interfaxonline/80656",
         "text": "Kyiv Independent cites Belgorod mayor: 1 killed, 10 injured in overnight attack on Belgorod city"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "loc": "Belgorod obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-tass-403004-belgorod-drone-death",
         "url": "https://t.me/tass_agency/403004",
         "text": "Belgorod operational HQ via TASS: one killed and one injured by Ukrainian drone attacks in Belgorod oblast"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Russian-installed occupation officials",
     "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-27",
       "loc": "Near Prymorsk, occupied Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-balitsky-9206-prymorsk-bus-drone",
         "url": "https://t.me/BalitskyEV/9206",
         "text": "31 people aboard, one killed, injured hospitalised"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: TASS",
     "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-28",
       "loc": "Occupied Donetsk obl. (EST)",
       "lo": 2.0,
       "hi": 2.0,
       "refs": [
        {
         "id": "web-tass-2209177-dpr-13-attacks",
         "url": "https://tass.com/politics/2209177",
         "text": "2 civilians killed, 4 injured"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Russian regional officials",
     "low": 31.0,
     "high": 41.0,
     "nClaims": 7,
     "nEvents": 7,
     "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-25",
       "loc": "Zamostye, Graivoron district, Belgorod obl. RF (approx)",
       "lo": 2,
       "hi": 10.0,
       "refs": [
        {
         "id": "tg-interfax-20261025-belgorod-zamostye-fpv",
         "url": "https://t.me/interfaxonline/80656",
         "text": "two injured in Blizhnyaya Igumenka and Shebekino"
        },
        {
         "id": "tg-interfax-20261025-belgorod-zamostye-fpv",
         "url": "https://t.me/interfaxonline/80656",
         "text": "Kyiv Independent cites Belgorod mayor: 1 killed, 10 injured in overnight attack on Belgorod city"
        }
       ]
      },
      {
       "date": "2026-10-25",
       "loc": "Kursk obl., RF (Kozyrevka, Bolshesoldatsky district; pinned approx)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "tg-kurskadm-20261025-174-uav-kozyrevka",
         "url": "https://t.me/kurskadm/112108",
         "text": "FPV drone hit a car in Kozyrevka (1 injured)"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Voronezh, RF",
       "lo": 17.0,
       "hi": 17.0,
       "refs": [
        {
         "id": "tg-tass-402414-voronezh-drone-attack-3-dead",
         "url": "https://t.me/tass_agency/402414",
         "text": "deaths rose to three (governor via TASS), 17 injured"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Belgorod obl. (location not stated, EST)",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "tg-tass-402450-belgorod-car-attack",
         "url": "https://t.me/tass_agency/402450",
         "text": "TASS citing the Belgorod regional operational HQ: a woman was killed and three people injured in a Ukrainian attack on a car in Belgorod oblast"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Western Russia (Bryansk/Kursk/Belgorod etc., EST)",
       "lo": 6.0,
       "hi": 6.0,
       "refs": [
        {
         "id": "tg-modrussia-68575-222-uav-overnight",
         "url": "https://t.me/mod_russia/68575",
         "text": "DnevnikDesantnika: a man killed in Bryansk by a drone-dropped explosive, 6 injured"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Lgov, Kursk obl. (EST)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "tg-kurskadm-112189-lgov-gas-station",
         "url": "https://t.me/kurskadm/112189",
         "text": "1 man injured, station roof and 6 buses damaged"
        },
        {
         "id": "tg-kurskadm-112189-lgov-gas-station",
         "url": "https://t.me/kurskadm/112189",
         "text": "1 injured in Nagolnoe"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Lgov, Kursk obl., Russia (EST)",
       "lo": 1,
       "hi": 3,
       "refs": [
        {
         "id": "tg-kurskadm-112239-lgov-drone-3-injured",
         "url": "https://t.me/kurskadm/112239",
         "text": "three injured"
        },
        {
         "id": "tg-kurskadm-112239-lgov-drone-3-injured",
         "url": "https://t.me/kurskadm/112239",
         "text": "Also an FPV attack near Kekino (Glushkovo district), one injured (per Dva Majors relay)"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: TASS",
     "low": 8.0,
     "high": 8.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-24",
       "loc": "Sverdlovsk (Dovzhansk), occupied Luhansk obl. (EST)",
       "lo": 4,
       "hi": 4,
       "refs": [
        {
         "id": "tass-20261024-sverdlovsk-lnr-apartment",
         "url": "https://t.me/tass_agency/402141",
         "text": "Pasechnik earlier said four civilians were injured"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Occupied Donetsk obl. (EST)",
       "lo": 4.0,
       "hi": 4.0,
       "refs": [
        {
         "id": "web-tass-2209177-dpr-13-attacks",
         "url": "https://tass.com/politics/2209177",
         "text": "2 civilians killed, 4 injured"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Russian-installed occupation officials",
     "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-25",
       "loc": "Moscow–Melitopol bus route (pinned Melitopol, EST)",
       "lo": 3.0,
       "hi": 3.0,
       "refs": [
        {
         "id": "tg-balitsky-20261025-moscow-melitopol-bus-drone",
         "url": "https://t.me/BalitskyEV/9197",
         "text": "3 injured (one driver serious)"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: Kyiv Independent",
     "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-25",
       "loc": "Berezniki, Perm Krai RF (Avisma titanium plant)",
       "lo": 5.0,
       "hi": 5.0,
       "refs": [
        {
         "id": "web-ki-20261025-berezniki-avisma-strike",
         "url": "https://kyivindependent.com/ukraine-strikes-russian-titanium-plant-more-than-1-400-kilometers-from-border-monitoring-channel-claims/",
         "text": "Perm governor Makhonin says 11 drones downed, an 'industrial facility' minor damage, 5 employees injured"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:aircraft",
     "category": "Equipment / infrastructure",
     "label": "Aircraft",
     "claimant": "Ukraine GenStaff / 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-29",
       "loc": "Marinovka airfield, Volgograd obl., RU (EST)",
       "lo": 2,
       "hi": 2,
       "refs": [
        {
         "id": "tg-genstaff-42730-neptune-su34-marinovka",
         "url": "https://t.me/GeneralStaffZSU/42730",
         "text": "claims two Su-34 destroyed"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:drones",
     "category": "Equipment / infrastructure",
     "label": "Drones / UAVs",
     "claimant": "Ukrainian military units / commands",
     "low": 381.0,
     "high": 381.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-24",
       "loc": "Obolon district, Kyiv (EST)",
       "lo": 126.0,
       "hi": 126.0,
       "refs": [
        {
         "id": "ukrinform-20261024-kyiv-obolon-house-2-injured",
         "url": "https://t.me/ukrinform_news/172045",
         "text": "UA Air Force: 126 strike drones launched (61 jet-powered), 101 downed/suppressed"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Kyiv (main axis of overnight attack, EST)",
       "lo": 255.0,
       "hi": 255.0,
       "refs": [
        {
         "id": "tg-genstaff-42700-overnight-257-downed",
         "url": "https://t.me/GeneralStaffZSU/42700",
         "text": "main axis Kyiv. 257 targets downed/suppressed (2 ballistic missiles, 255 UAVs)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:missiles",
     "category": "Equipment / infrastructure",
     "label": "Missiles / guided bombs",
     "claimant": "Ukrainian military units / commands",
     "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-27",
       "loc": "Kyiv (main axis of overnight attack, EST)",
       "lo": 2.0,
       "hi": 2.0,
       "refs": [
        {
         "id": "tg-genstaff-42700-overnight-257-downed",
         "url": "https://t.me/GeneralStaffZSU/42700",
         "text": "main axis Kyiv. 257 targets downed/suppressed (2 ballistic missiles, 255 UAVs)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:ships",
     "category": "Equipment / infrastructure",
     "label": "Ships / vessels",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "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-27",
       "loc": "Kramatorsk, Donetsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-ukrinform-172202-kramatorsk-double-tap",
         "url": "https://t.me/ukrinform_news/172202",
         "text": "during firefighting a RU drone hit a fire tanker (rescuers unhurt)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (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-24",
       "loc": "Rostov-on-Don / Taganrog / Myasnikovsky district (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "interfax-20261024-rostov-80-uav-kalinin",
         "url": "https://t.me/interfaxonline/80627",
         "text": "debris damaged a substation in khutor Kalinin (Myasnikovsky district, 172 homes without power) and 21 buses at a Rostovpassazhirtrans depot"
        }
       ]
      },
      {
       "date": "2026-10-25",
       "loc": "Kursk obl., RF (Kozyrevka, Bolshesoldatsky district; pinned approx)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-kurskadm-20261025-174-uav-kozyrevka",
         "url": "https://t.me/kurskadm/112108",
         "text": "energy facility damaged in Khomutovka district, 104 settlements without power"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Lgov, Kursk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-kurskadm-112189-lgov-gas-station",
         "url": "https://t.me/kurskadm/112189",
         "text": "Kursk governor Khinshtein: UA drones hit a gas station in Lgov"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Lgov, Kursk obl., Russia (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-kurskadm-112239-lgov-drone-3-injured",
         "url": "https://t.me/kurskadm/112239",
         "text": "Kursk governor Khinshtein: a UA drone hit a fuel station and shop in Lgov"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Russian military units / milbloggers",
     "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-24",
       "loc": "Crimea (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "interfax-20261024-crimea-power-water-limits",
         "url": "https://t.me/interfaxonline/80632",
         "text": "Crimea head Aksyonov (via Interfax): power and water supply restrictions introduced after an accident on trunk grids outside the region caused by a Ukrainian UAV attack"
        },
        {
         "id": "interfax-20261024-crimea-power-water-limits",
         "url": "https://t.me/interfaxonline/80632",
         "text": "RU milbloggers link it to strikes on Krasnodar Krai substations"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Russian-installed occupation officials",
     "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-24",
       "loc": "Occupied Zaporizhzhia obl. (Melitopol, EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "balitsky-20261024-zaporizhzhia-occ-power-disrupted",
         "url": "https://t.me/BalitskyEV/9195",
         "text": "Occupation head Balitsky: power supply to (occupied) Zaporizhzhia oblast disrupted after a UA drone attack on trunk grids outside the region"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Ukraine GenStaff / MoD",
     "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-29",
       "loc": "Navlia area, Bryansk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-genstaff-42729-navlia-shahed-infra",
         "url": "https://t.me/GeneralStaffZSU/42729",
         "text": "UA General Staff: Defence Forces struck a Geran drone storage depot, a drone port and a fuel depot near Navlia (Bryansk obl.) on 28 Oct and overnight"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (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-30",
       "loc": "Novokuibyshevsk refinery, Samara obl., Russia (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "web-ki-20261030-novokuibyshevsk-refinery",
         "url": "https://kyivindependent.com/russian-oil-refinery-reportedly-attacked-amid-renewed-ukrainian-strikes-on-energy-infrastructure/",
         "text": "Kyiv Independent: fire reported at Novokuibyshevsk refinery after suspected UA drone attack overnight 30 Oct, called a resumption of refinery strikes after a mid-October pause"
        },
        {
         "id": "web-ki-20261030-novokuibyshevsk-refinery",
         "url": "https://kyivindependent.com/russian-oil-refinery-reportedly-attacked-amid-renewed-ukrainian-strikes-on-energy-infrastructure/",
         "text": "RU deputy PM Novak said 3 refineries were attacked"
        }
       ]
      }
     ]
    },
    {
     "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-24",
       "loc": "Rostov-on-Don / Taganrog / Myasnikovsky district (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "interfax-20261024-rostov-80-uav-kalinin",
         "url": "https://t.me/interfaxonline/80627",
         "text": "debris damaged a substation in khutor Kalinin (Myasnikovsky district, 172 homes without power) and 21 buses at a Rostovpassazhirtrans depot"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Voronezh, RF",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-tass-402414-voronezh-drone-attack-3-dead",
         "url": "https://t.me/tass_agency/402414",
         "text": "fires at several industrial sites and a business centre"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Novomoskovsk Azot plant, Tula obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "web-meduza-20261028-tula-novomoskovsk-azot",
         "url": "https://meduza.io/en/news/2026/10/28/ukrainian-drones-strike-russia-s-tula-region-reportedly-sparking-fire-at-chemical-plant",
         "text": "Governor Milyaev says debris damaged homes and 'infrastructure in the surrounding industrial zone' in Novomoskovsk"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Lgov, Kursk obl., Russia (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-kurskadm-112239-lgov-drone-3-injured",
         "url": "https://t.me/kurskadm/112239",
         "text": "Kursk governor Khinshtein: a UA drone hit a fuel station and shop in Lgov"
        }
       ]
      }
     ]
    },
    {
     "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-24",
       "loc": "Sverdlovsk (Dovzhansk), occupied Luhansk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tass-20261024-sverdlovsk-lnr-apartment",
         "url": "https://t.me/tass_agency/402141",
         "text": "TASS: one person in critical condition after a UA strike on a five-storey building in Sverdlovsk (occupied Luhansk obl.)"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Occupied Donetsk obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "web-tass-2209177-dpr-13-attacks",
         "url": "https://tass.com/politics/2209177",
         "text": "TASS citing the DPR (occupation) office documenting 'Ukrainian war crimes': 13 UA attacks on DPR settlements in the past day"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Ukraine GenStaff / 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-26",
       "loc": "Yelets, Lipetsk obl. RF",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-genstaff-42692-yelets-energiya-strike",
         "url": "https://t.me/GeneralStaffZSU/42692",
         "text": "UA General Staff: on 25 Oct and night of 26 Oct UA forces hit the battery-cell workshop of the 'Energiya' plant in Yelets (sole maker of batteries for glide-bomb kits, Iskander-M, sea-launched cruise missiles)"
        },
        {
         "id": "tg-genstaff-42692-yelets-energiya-strike",
         "url": "https://t.me/GeneralStaffZSU/42692",
         "text": "Also confirmed earlier hits: Proton-Electrotex microchip shop in Orel (23 Oct), UAV launch/storage site near Donetsk (23 Oct), Tolyattikauchuk in Tolyatti (24 Oct)"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Melitopol, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-genstaff-42694-melitopol-myrnohrad-strikes",
         "url": "https://t.me/GeneralStaffZSU/42694",
         "text": "UA General Staff: on 25 Oct and night of 26 Oct UA forces hit a Russian army communications node and a UAV workshop near Melitopol, command posts near Myrnohrad (Donetsk obl.) and Chervonohirka (Zaporizhzhia obl.), a UAV control point near Vyshneve, and logist"
        }
       ]
      }
     ]
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "Russian regional officials",
     "low": 16,
     "high": 16,
     "nClaims": 16,
     "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": 11,
     "high": 11,
     "nClaims": 11,
     "nEvents": 11,
     "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": 9,
     "high": 9,
     "nClaims": 9,
     "nEvents": 9,
     "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-installed occupation officials",
     "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: TASS",
     "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: GeoConfirmed",
     "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": 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": "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: 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: KyivIndependent",
     "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: interfaxonline",
     "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: boris_rozhin",
     "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 President / Cabinet",
     "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:ground_attacks",
     "category": "Strikes launched against",
     "label": "Launched against: Ground attacks / engagements",
     "claimant": "Media report: Ukrinform",
     "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-28",
       "loc": "Huliaipole axis (summary pin, EST)",
       "lo": 27.0,
       "hi": 27.0,
       "refs": [
        {
         "id": "web-ukrinform-4178950-ngu-huliaipole-assaults-veles",
         "url": "https://www.ukrinform.net/rubric-ato/4178950-russian-forces-step-up-assaults-on-huliaipole-axis-national-guard-says.html",
         "text": "NGU repelled 27 assaults in 24h (17 in Donetsk obl.)"
        }
       ]
      }
     ]
    },
    {
     "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-26",
       "loc": "Oleksandrivka direction — Perebudova / Komar / Fedorivka (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "isw-20261025-oleksandrivka-ua-gains-perebudova-fedorivka",
         "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-25-2026",
         "text": "ISW Oct 25 (topline): UA forces making slow but tactically significant gains in the Oleksandrivka direction; relaying Mashovets — UA liberated Perebudova, Komar, Fedorivka and advanced SW of Vesele up to Skudne; RU still holds NE outskirts of Perebudova; ISW assesses UA likely pushed RU from a salie"
        }
       ]
      },
      {
       "date": "2026-10-26",
       "loc": "Bilyi Kolodiaz / Vovchansk, Kharkiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "x-2114748969381224789",
         "url": "https://x.com/Suriyakmaps/status/2114748969381224789",
         "text": "Suriyak Maps (Vovchansk & Vilkhuvatka fronts): over two weeks UA continued its counteroffensive toward Vovchansk, fully recapturing Bilyi Kolodiaz and Zemliane and large swathes of surrounding ground. Suriyak Maps (cite-only) weekly update, Day 1700-1704; text truncated at link in X API. Not confirm"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "loc": "Dobropillia (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-dnevnikdesantnika-49307-dobropillia-practically-taken",
         "url": "https://t.me/DnevnikDesantnika/49307",
         "text": "DnevnikDesantnika: fighters report clearing of remaining small UA groups in Dobropillia, city 'practically liberated'; no organised UA resistance recorded. Contradicted by UA GS (attacks toward Dobropillia repelled) and ISW Oct 27 (no confirmed advances). Unverified / EST — INFO/SA only. Not for tar"
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Media report: Suriyakmaps",
     "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-25",
       "loc": "Vovchansk / Vilkhuvatka fronts, Kharkiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "x-suriyak-20261025-vovchansk-ua-counteroffensive",
         "url": "https://x.com/Suriyakmaps/status/2114442378404598008",
         "text": "Suriyak Maps weekly (days 1670–1674): UA counter-offensive toward Vovchansk fully recaptured Bilyi Kolodiaz and Zemliane; fighting shifted back to the Tatar Forest and outskirts of Symynivka and Vilcha; Volokhivske now contested; UA presence reported in hangars on S outskirts of Vovchansk (via T-21-"
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Ukrainian President / Cabinet",
     "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-27",
       "loc": "Kupiansk area (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-zelensky-21547-third-landmark-operation",
         "url": "https://t.me/V_Zelenskiy_official/21547",
         "text": "Zelensky: Operation Veles by Khartiia is 'effectively our third landmark operation this year' after an Airborne Assault Forces operation (800+ km² liberated) and Operation Vivaldi in Donetsk (200+ km); says it shows RU failing near Kupiansk. 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-27",
       "loc": "Rai-Oleksandrivka / Yurkivka / Vasiutynske area (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-suriyak-13309-mykolaivka-front-ua-gains",
         "url": "https://t.me/Suriyak_maps/13309",
         "text": "Suriyak Maps (cite-only assessor): UA incursions on the NE edge of Rai-Oleksandrivka, re-entered Kalenyky, fully recaptured Yurkivka and positions along the water channel, advancing towards Dibrova; UA 'virtually driven out' RU from Vasyuntynske. Same text on X. Unverified / EST — INFO/SA only. Not "
        }
       ]
      }
     ]
    }
   ],
   "lossesSufferedBy": "Russia",
   "civilianLine": "Civilians in Russia / Russian-occupied areas: civilians killed 2 (claimed by Russian regional officials, 2 claims); civilians killed 1 (claimed by Russian-installed occupation officials, 1 claim); civilians killed 2 (claimed by Media report: TASS, 1 claim); civilians wounded / injured 31–41 (claimed by Russian regional officials, 7 claims); civilians wounded / injured 8 (claimed by Media report: TASS, 2 claims); civilians wounded / injured 3 (claimed by Russian-installed occupation officials, 1 claim); civilians wounded / injured 5 (claimed by Media report: Kyiv Independent, 1 claim). CLAIMED, UNVERIFIED.",
   "officialTallies": [
    {
     "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-28",
       "lo": 13.0,
       "hi": 13.0,
       "loc": "Occupied Donetsk obl. (EST)",
       "refs": [
        {
         "id": "web-tass-2209177-dpr-13-attacks",
         "url": "https://tass.com/politics/2209177",
         "text": "TASS citing the DPR (occupation) office documenting 'Ukrainian war crimes': 13 UA attacks on DPR settlements in the past day"
        }
       ]
      }
     ],
     "lo": 13.0,
     "hi": 13.0,
     "nClaims": 1
    }
   ]
  },
  "Unclear": {
   "side": "Unclear",
   "label": "Side unclear (target/victim not stated or not parseable)",
   "civLabel": "Civilians — side unclear",
   "rows": [
    {
     "metric": "killed",
     "category": "Personnel",
     "label": "Personnel killed",
     "claimant": "Independent analysts / OSINT",
     "low": 40.0,
     "high": 40.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-26",
       "loc": "Black Sea / Greater Odesa ports (EST)",
       "lo": 40.0,
       "hi": 40.0,
       "refs": [
        {
         "id": "isw-20261025-black-sea-570-vessels-ambrey",
         "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-25-2026",
         "text": "ISW Oct 25 citing Ambrey / IMO via the Financial Times: strikes have impacted over 570 vessels in the Black Sea in 2026 (387 in Jul–Sep), killing at least 40 sailors"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_killed",
     "category": "Civilians",
     "label": "Civilians killed",
     "claimant": "Media report: synegubov",
     "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-25",
       "loc": "Lozova, Kharkiv obl. (plus Kharkiv, Derhachi, Mala Danylivka)",
       "lo": 1.0,
       "hi": 1.0,
       "refs": [
        {
         "id": "tg-synegubov-20261025-kharkiv-obl-daily",
         "url": "https://t.me/synegubov/27020",
         "text": "1 killed (Lozova), 11 injured"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: synegubov",
     "low": 11.0,
     "high": 11.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-25",
       "loc": "Lozova, Kharkiv obl. (plus Kharkiv, Derhachi, Mala Danylivka)",
       "lo": 11.0,
       "hi": 11.0,
       "refs": [
        {
         "id": "tg-synegubov-20261025-kharkiv-obl-daily",
         "url": "https://t.me/synegubov/27020",
         "text": "1 killed (Lozova), 11 injured"
        }
       ]
      }
     ]
    },
    {
     "metric": "civ_wounded",
     "category": "Civilians",
     "label": "Civilians wounded / injured",
     "claimant": "Media report: zoda_gov_ua",
     "low": 1.0,
     "high": 8,
     "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-26",
       "loc": "Zaporizhzhia city",
       "lo": 1.0,
       "hi": 8,
       "refs": [
        {
         "id": "tg-zoda-20261026-zaporizhzhia-mall-strikes",
         "url": "https://t.me/zoda_gov_ua/68648",
         "text": "Zaporizhzhia ODA: night and morning strikes on Zaporizhzhia damaged private houses, cars and a commercial building (1 injured), then hit a closed shopping-centre building with fire"
        },
        {
         "id": "tg-zoda-20261026-zaporizhzhia-mall-strikes",
         "url": "https://t.me/zoda_gov_ua/68648",
         "text": "Tsaplienko: eight people injured in the city"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:drones",
     "category": "Equipment / infrastructure",
     "label": "Drones / UAVs",
     "claimant": "Media report: Kyiv Independent",
     "low": 11.0,
     "high": 11.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-25",
       "loc": "Berezniki, Perm Krai RF (Avisma titanium plant)",
       "lo": 11.0,
       "hi": 11.0,
       "refs": [
        {
         "id": "web-ki-20261025-berezniki-avisma-strike",
         "url": "https://kyivindependent.com/ukraine-strikes-russian-titanium-plant-more-than-1-400-kilometers-from-border-monitoring-channel-claims/",
         "text": "Perm governor Makhonin says 11 drones downed, an 'industrial facility' minor damage, 5 employees injured"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:drones",
     "category": "Equipment / infrastructure",
     "label": "Drones / UAVs",
     "claimant": "Media report: GeneralStaffZSU",
     "low": 112.0,
     "high": 112.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-26",
       "loc": "Ukraine-wide (pinned Kyiv, EST)",
       "lo": 112.0,
       "hi": 112.0,
       "refs": [
        {
         "id": "tg-genstaff-42690-night-26oct-140-drones",
         "url": "https://t.me/GeneralStaffZSU/42690",
         "text": "3 Kh-59/69 and 112 drones shot down/suppressed"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:drones",
     "category": "Equipment / infrastructure",
     "label": "Drones / UAVs",
     "claimant": "Media report: KyivIndependent",
     "low": 121.0,
     "high": 121.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-28",
       "loc": "Moscow / Moscow Oblast (EST)",
       "lo": 121.0,
       "hi": 121.0,
       "refs": [
        {
         "id": "web-ki-20261029-moscow-mass-drone-attack-121",
         "url": "https://kyivindependent.com/moscow-comes-under-drone-fire-overnight-grounding-flights-at-major-airports/",
         "text": "Kyiv Independent: Sobyanin reported 121 drones shot down approaching Moscow overnight 28–29 Oct"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:drones",
     "category": "Equipment / infrastructure",
     "label": "Drones / UAVs",
     "claimant": "Media report: interfaxonline",
     "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-29",
       "loc": "Moscow approaches (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-interfax-80907-moscow-194-uav",
         "url": "https://t.me/interfaxonline/80907",
         "text": "Interfax citing Sobyanin: number of drones shot down approaching Moscow on 29 Oct rose to 194"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:artillery",
     "category": "Equipment / infrastructure",
     "label": "Artillery / MLRS / launchers",
     "claimant": "Media report: boris_rozhin",
     "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-29",
       "loc": "Tavriiske / Vasynivka, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-rozhin-231453-35caa-tavriiske-vasynivka",
         "url": "https://t.me/boris_rozhin/231453",
         "text": "Voin DV via Rozhin: 35th Gds CAA (Vostok) UAV crews claim UA drone launchers destroyed near Tavriiske and Vasynivka (Zaporizhzhia dir.)"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:vehicles",
     "category": "Equipment / infrastructure",
     "label": "Vehicles / special equipment",
     "claimant": "Media report: synegubov",
     "low": 23.0,
     "high": 23.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-25",
       "loc": "Lozova, Kharkiv obl. (plus Kharkiv, Derhachi, Mala Danylivka)",
       "lo": 16.0,
       "hi": 16.0,
       "refs": [
        {
         "id": "tg-synegubov-20261025-kharkiv-obl-daily",
         "url": "https://t.me/synegubov/27020",
         "text": "hypermarket, warehouses, 16 cars damaged"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Izium, Kharkiv obl. (EST)",
       "lo": 7.0,
       "hi": 7.0,
       "refs": [
        {
         "id": "tg-synegubov-27098-izium-missile",
         "url": "https://t.me/synegubov/27098",
         "text": "Synehubov: RU missile strike on Izium damaged 8 private houses, a garage and 7 cars"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:vehicles",
     "category": "Equipment / infrastructure",
     "label": "Vehicles / special equipment",
     "claimant": "Independent analysts / OSINT",
     "low": 3,
     "high": 3,
     "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-29",
       "loc": "Black Sea ~21 nm SE of Shabla, Bulgaria (EST)",
       "lo": 3,
       "hi": 3,
       "refs": [
        {
         "id": "web-isw-20261028-usv-strike-constship-jet-bulgaria",
         "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-28-2026#constship-jet",
         "text": "ISW/CTP citing Bulgarian Defence Minister Stoyanov: three unmanned surface vehicles struck the Liberian-flagged container ship Constship Jet (Haifa→Constanta) about '21 miles' SE of Shabla on 28 Oct"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:ships",
     "category": "Equipment / infrastructure",
     "label": "Ships / vessels",
     "claimant": "Independent analysts / OSINT",
     "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-29",
       "loc": "Black Sea ~21 nm SE of Shabla, Bulgaria (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "web-isw-20261028-usv-strike-constship-jet-bulgaria",
         "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-28-2026#constship-jet",
         "text": "ISW/CTP citing Bulgarian Defence Minister Stoyanov: three unmanned surface vehicles struck the Liberian-flagged container ship Constship Jet (Haifa→Constanta) about '21 miles' SE of Shabla on 28 Oct"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Media report: boris_rozhin",
     "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-28",
       "loc": "Izium, Kharkiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-rozhin-231295-claim-125-bde-commander-izium",
         "url": "https://t.me/boris_rozhin/231295",
         "text": "two houses destroyed, power lines damaged"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:energy",
     "category": "Equipment / infrastructure",
     "label": "Energy infrastructure (incidents)",
     "claimant": "Media report: voenkorKotenok",
     "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-30",
       "loc": "Kremenchuk refinery / TPP, Poltava obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-kotenok-77127-kremenchuk-refinery-tpp",
         "url": "https://t.me/voenkorKotenok/77127",
         "text": "Voenkor Kotenok (RU): at least 10 missiles hit the Kremenchuk refinery and thermal power plant overnight"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: DnevnikDesantnika",
     "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-26",
       "loc": "Zaporizhzhia city, central beach area (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-dnevnikdesantnika-49243-zaporizhzhia-hotel-fab",
         "url": "https://t.me/DnevnikDesantnika/49243",
         "text": "Dnevnik Desantnika claims a FAB glide-bomb strike on the 'Venetsia' hotel near Zaporizhzhia's central beach, alleging UA troops were billeted there"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Chernihiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-dnevnikdesantnika-49280-chernihiv-warehouse",
         "url": "https://t.me/DnevnikDesantnika/49280",
         "text": "Dnevnik Desantnika: Geran-2/4 strike set fire to a warehouse in Chernihiv oblast said to store small drones and winter kit for the AFU. Unverified / EST"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: synegubov",
     "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-25",
       "loc": "Lozova, Kharkiv obl. (plus Kharkiv, Derhachi, Mala Danylivka)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-synegubov-20261025-kharkiv-obl-daily",
         "url": "https://t.me/synegubov/27020",
         "text": "hypermarket, warehouses, 16 cars damaged"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: zoda_gov_ua",
     "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-26",
       "loc": "Zaporizhzhia city",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-zoda-20261026-zaporizhzhia-mall-strikes",
         "url": "https://t.me/zoda_gov_ua/68648",
         "text": "Zaporizhzhia ODA: night and morning strikes on Zaporizhzhia damaged private houses, cars and a commercial building (1 injured), then hit a closed shopping-centre building with fire"
        }
       ]
      }
     ]
    },
    {
     "metric": "equip:civilian_buildings",
     "category": "Equipment / infrastructure",
     "label": "Civilian buildings (incidents)",
     "claimant": "Media report: boris_rozhin",
     "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-28",
       "loc": "Izium, Kharkiv obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-rozhin-231295-claim-125-bde-commander-izium",
         "url": "https://t.me/boris_rozhin/231295",
         "text": "Rozhin reposting @Sinkovka_Kupyansk: claims a 27 Oct Tornado-S MLRS strike on a private house in Izium killed the commander of the UA 125th brigade"
        },
        {
         "id": "tg-rozhin-231295-claim-125-bde-commander-izium",
         "url": "https://t.me/boris_rozhin/231295",
         "text": "two houses destroyed, power lines damaged"
        },
        {
         "id": "tg-rozhin-231295-claim-125-bde-commander-izium",
         "url": "https://t.me/boris_rozhin/231295",
         "text": "DnevnikDesantnika separately claims daily strikes on Izium incl. a hotel"
        }
       ]
      }
     ]
    },
    {
     "metric": "strike_events",
     "category": "Strikes launched against",
     "label": "Strike / attack events reported (deduped)",
     "claimant": "RU MoD",
     "low": 14,
     "high": 14,
     "nClaims": 15,
     "nEvents": 14,
     "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": 5,
     "high": 5,
     "nClaims": 6,
     "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": "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": "Russian military units / milbloggers",
     "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": 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: voin_dv",
     "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": "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: tass_agency",
     "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: DnevnikDesantnika",
     "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": "Ukrainian President / Cabinet",
     "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: 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": "Media report: synegubov",
     "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: zoda_gov_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: boris_rozhin",
     "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: voenkorKotenok",
     "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: grvZapad",
     "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": 100.0,
     "high": 100.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-28",
       "loc": "Near Millerovo airfield, Rostov obl. (EST)",
       "lo": 100.0,
       "hi": 100.0,
       "refs": [
        {
         "id": "web-ki-20261028-hur-millerovo-drone-site",
         "url": "https://kyivindependent.com/russia-building-new-drone-launch-site-near-millerovo-airfield-in-rostov-oblast-hur-says/",
         "text": "Kyiv Independent / UP citing UA military intelligence (HUR): Russia is building a new drone launch site near Millerovo airfield, Rostov obl., able to launch up to 100 Geran UAVs a day (photos released)"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:missiles",
     "category": "Strikes launched against",
     "label": "Launched against: Missiles launched/engaged",
     "claimant": "Ukraine GenStaff / MoD",
     "low": 8,
     "high": 8,
     "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-26",
       "loc": "Yelets, Lipetsk obl. RF",
       "lo": 8,
       "hi": 8,
       "refs": [
        {
         "id": "tg-genstaff-42692-yelets-energiya-strike",
         "url": "https://t.me/GeneralStaffZSU/42692",
         "text": "Tsaplienko: at least eight missiles hit Energiya"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:air_strikes",
     "category": "Strikes launched against",
     "label": "Launched against: Air strikes / raids",
     "claimant": "Media report: zoda_gov_ua",
     "low": 857.0,
     "high": 857.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-26",
       "loc": "Zaporizhzhia city",
       "lo": 857.0,
       "hi": 857.0,
       "refs": [
        {
         "id": "tg-zoda-20261026-zaporizhzhia-mall-strikes",
         "url": "https://t.me/zoda_gov_ua/68648",
         "text": "857 strikes on 52 settlements of the oblast in a day"
        }
       ]
      }
     ]
    },
    {
     "metric": "mun:ground_attacks",
     "category": "Strikes launched against",
     "label": "Launched against: Ground attacks / engagements",
     "claimant": "Ukrainian local / regional officials & emergency services",
     "low": 10.0,
     "high": 10.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-28",
       "loc": "Pavlohrad, Dnipropetrovsk obl. (EST)",
       "lo": 10.0,
       "hi": 10.0,
       "refs": [
        {
         "id": "tg-dnipropetrovskaoda-32870-pavlohrad-drone",
         "url": "https://t.me/dnipropetrovskaODA/32870",
         "text": "Overnight >10 attacks on four districts (Dnipro, Synelnykove, Nikopol, Kamianske)"
        }
       ]
      }
     ]
    },
    {
     "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-26",
       "loc": "Sviati Hory park, near Lyman (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "x-2114756228291166266",
         "url": "https://x.com/Suriyakmaps/status/2114756228291166266",
         "text": "Suriyak Maps (Lyman front): after recapturing Lyman, UA spent two weeks retaking the woods of Sviati Hory National Park, incl. the Krasnolimansky quarry and Blakytne Lake. Suriyak Maps (cite-only) weekly update, Day 1700-1704; text truncated at link in X API. Not confirmed by ISW at ingest. Unverifi"
        }
       ]
      },
      {
       "date": "2026-10-27",
       "loc": "Obshche, Zaporizhzhia obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "isw-20261026-obshche-mod-claim-not-confirmed",
         "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-26-2026",
         "text": "ISW Oct 26: RF MoD claimed the Eastern GoF seized Obshche (milblogger credits 39th MRB, 68th AC), but ISW has observed evidence of RU advances only to roughly 17 km east of Obshche; RU continued Huliaipole-direction attacks without advancing as UA counterattacked. Unverified / EST — INFO/SA only. No"
        }
       ]
      }
     ]
    },
    {
     "metric": "territory_claims",
     "category": "Territory",
     "label": "Territory lost — settlement / position claims",
     "claimant": "Media report: DnevnikDesantnika",
     "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-28",
       "loc": "Oleshnia river — Ivolzhanske / Khrapivshchyna, Sumy obl. (EST)",
       "lo": 1,
       "hi": 1,
       "refs": [
        {
         "id": "tg-dnevnik-49326-sumy-grey-zone-ivolzhanske",
         "url": "https://t.me/DnevnikDesantnika/49326",
         "text": "DnevnikDesantnika: UA massing and moving reserves along the Oleshnia river, widening the grey zone near Ivolzhanske and Khrapivshchyna; also repeats claim Dobropillia 'practically liberated' (disputed). Unverified / EST — INFO/SA only. Not for targeting."
        }
       ]
      }
     ]
    }
   ],
   "lossesSufferedBy": "Unclear",
   "civilianLine": "Civilians — side unclear: civilians killed 1 (claimed by Media report: synegubov, 1 claim); civilians wounded / injured 11 (claimed by Media report: synegubov, 1 claim); civilians wounded / injured 1–8 (claimed by Media report: zoda_gov_ua, 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-27",
       "lo": 5942.0,
       "hi": 5942.0,
       "loc": "Pokrovsk / Dobropillia direction (summary pin, EST)",
       "refs": [
        {
         "id": "tg-genstaff-42716-2200-178-clashes",
         "url": "https://t.me/GeneralStaffZSU/42716",
         "text": "1 missile strike, 46 air strikes, 171 KABs, 5942 kamikaze drones, 1563 shellings"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "lo": 5249.0,
       "hi": 5249.0,
       "loc": "Front-wide (summary pin Pokrovsk/Dobropillia direction, EST)",
       "refs": [
        {
         "id": "tg-genstaff-42723-2200-181-clashes",
         "url": "https://t.me/GeneralStaffZSU/42723",
         "text": "55 air strikes, 188 guided bombs, 5249 kamikaze drones"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "lo": 6174.0,
       "hi": 6174.0,
       "loc": "Front-wide (plotted Kostiantynivka dir.) (EST)",
       "refs": [
        {
         "id": "tg-genstaff-42731-2200-191-clashes",
         "url": "https://t.me/GeneralStaffZSU/42731",
         "text": "170 KABs and 6174 kamikaze drones used"
        }
       ]
      }
     ],
     "lo": 17365.0,
     "hi": 17365.0,
     "nClaims": 3
    },
    {
     "target": "Unclear",
     "metric": "mun:missiles",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
     "area": null,
     "days": [
      {
       "date": "2026-10-27",
       "lo": 1.0,
       "hi": 1.0,
       "loc": "Pokrovsk / Dobropillia direction (summary pin, EST)",
       "refs": [
        {
         "id": "tg-genstaff-42716-2200-178-clashes",
         "url": "https://t.me/GeneralStaffZSU/42716",
         "text": "1 missile strike, 46 air strikes, 171 KABs, 5942 kamikaze drones, 1563 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-27",
       "lo": 46.0,
       "hi": 46.0,
       "loc": "Pokrovsk / Dobropillia direction (summary pin, EST)",
       "refs": [
        {
         "id": "tg-genstaff-42716-2200-178-clashes",
         "url": "https://t.me/GeneralStaffZSU/42716",
         "text": "1 missile strike, 46 air strikes, 171 KABs, 5942 kamikaze drones, 1563 shellings"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "lo": 55.0,
       "hi": 55.0,
       "loc": "Front-wide (summary pin Pokrovsk/Dobropillia direction, EST)",
       "refs": [
        {
         "id": "tg-genstaff-42723-2200-181-clashes",
         "url": "https://t.me/GeneralStaffZSU/42723",
         "text": "55 air strikes, 188 guided bombs, 5249 kamikaze drones"
        }
       ]
      }
     ],
     "lo": 101.0,
     "hi": 101.0,
     "nClaims": 2
    },
    {
     "target": "Unclear",
     "metric": "mun:guided_bombs",
     "claimant": "Ukraine GenStaff / MoD",
     "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
     "area": null,
     "days": [
      {
       "date": "2026-10-27",
       "lo": 171.0,
       "hi": 171.0,
       "loc": "Pokrovsk / Dobropillia direction (summary pin, EST)",
       "refs": [
        {
         "id": "tg-genstaff-42716-2200-178-clashes",
         "url": "https://t.me/GeneralStaffZSU/42716",
         "text": "1 missile strike, 46 air strikes, 171 KABs, 5942 kamikaze drones, 1563 shellings"
        }
       ]
      },
      {
       "date": "2026-10-28",
       "lo": 188.0,
       "hi": 188.0,
       "loc": "Front-wide (summary pin Pokrovsk/Dobropillia direction, EST)",
       "refs": [
        {
         "id": "tg-genstaff-42723-2200-181-clashes",
         "url": "https://t.me/GeneralStaffZSU/42723",
         "text": "55 air strikes, 188 guided bombs, 5249 kamikaze drones"
        }
       ]
      },
      {
       "date": "2026-10-29",
       "lo": 170.0,
       "hi": 170.0,
       "loc": "Front-wide (plotted Kostiantynivka dir.) (EST)",
       "refs": [
        {
         "id": "tg-genstaff-42731-2200-191-clashes",
         "url": "https://t.me/GeneralStaffZSU/42731",
         "text": "170 KABs and 6174 kamikaze drones used"
        }
       ]
      }
     ],
     "lo": 529.0,
     "hi": 529.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-27",
       "lo": 1563.0,
       "hi": 1563.0,
       "loc": "Pokrovsk / Dobropillia direction (summary pin, EST)",
       "refs": [
        {
         "id": "tg-genstaff-42716-2200-178-clashes",
         "url": "https://t.me/GeneralStaffZSU/42716",
         "text": "1 missile strike, 46 air strikes, 171 KABs, 5942 kamikaze drones, 1563 shellings"
        }
       ]
      }
     ],
     "lo": 1563.0,
     "hi": 1563.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-29",
       "lo": 42.0,
       "hi": 42.0,
       "loc": "Front-wide (pin Pokrovsk direction EST)",
       "refs": [
        {
         "id": "tg-genstaff-42725-0800-189-clashes",
         "url": "https://t.me/GeneralStaffZSU/42725",
         "text": "42 attacks stopped on Pokrovsk dir., 18 Kostiantynivka, 9 Huliaipole, 7 South-Slobozhanskyi, 5 Lyman"
        }
       ]
      },
      {
       "date": "2026-10-30",
       "lo": 24.0,
       "hi": 24.0,
       "loc": "Front-wide (EST — plotted Kostiantynivka dir.)",
       "refs": [
        {
         "id": "tg-genstaff-42733-0800-20261030",
         "url": "https://t.me/GeneralStaffZSU/42733",
         "text": "24 attacks Kostiantynivka dir., 19 Pokrovsk, 18 Huliaipole, 8 Lyman, 7 South-Slobozhanskyi, 4 Sloviansk"
        }
       ]
      }
     ],
     "lo": 66.0,
     "hi": 66.0,
     "nClaims": 2
    }
   ]
  }
 },
 "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": "Unclear",
   "metric": "mun:drones",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-27",
     "lo": 5942.0,
     "hi": 5942.0,
     "loc": "Pokrovsk / Dobropillia direction (summary pin, EST)",
     "refs": [
      {
       "id": "tg-genstaff-42716-2200-178-clashes",
       "url": "https://t.me/GeneralStaffZSU/42716",
       "text": "1 missile strike, 46 air strikes, 171 KABs, 5942 kamikaze drones, 1563 shellings"
      }
     ]
    },
    {
     "date": "2026-10-28",
     "lo": 5249.0,
     "hi": 5249.0,
     "loc": "Front-wide (summary pin Pokrovsk/Dobropillia direction, EST)",
     "refs": [
      {
       "id": "tg-genstaff-42723-2200-181-clashes",
       "url": "https://t.me/GeneralStaffZSU/42723",
       "text": "55 air strikes, 188 guided bombs, 5249 kamikaze drones"
      }
     ]
    },
    {
     "date": "2026-10-29",
     "lo": 6174.0,
     "hi": 6174.0,
     "loc": "Front-wide (plotted Kostiantynivka dir.) (EST)",
     "refs": [
      {
       "id": "tg-genstaff-42731-2200-191-clashes",
       "url": "https://t.me/GeneralStaffZSU/42731",
       "text": "170 KABs and 6174 kamikaze drones used"
      }
     ]
    }
   ],
   "lo": 17365.0,
   "hi": 17365.0,
   "nClaims": 3
  },
  {
   "target": "Unclear",
   "metric": "mun:missiles",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-27",
     "lo": 1.0,
     "hi": 1.0,
     "loc": "Pokrovsk / Dobropillia direction (summary pin, EST)",
     "refs": [
      {
       "id": "tg-genstaff-42716-2200-178-clashes",
       "url": "https://t.me/GeneralStaffZSU/42716",
       "text": "1 missile strike, 46 air strikes, 171 KABs, 5942 kamikaze drones, 1563 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-27",
     "lo": 46.0,
     "hi": 46.0,
     "loc": "Pokrovsk / Dobropillia direction (summary pin, EST)",
     "refs": [
      {
       "id": "tg-genstaff-42716-2200-178-clashes",
       "url": "https://t.me/GeneralStaffZSU/42716",
       "text": "1 missile strike, 46 air strikes, 171 KABs, 5942 kamikaze drones, 1563 shellings"
      }
     ]
    },
    {
     "date": "2026-10-28",
     "lo": 55.0,
     "hi": 55.0,
     "loc": "Front-wide (summary pin Pokrovsk/Dobropillia direction, EST)",
     "refs": [
      {
       "id": "tg-genstaff-42723-2200-181-clashes",
       "url": "https://t.me/GeneralStaffZSU/42723",
       "text": "55 air strikes, 188 guided bombs, 5249 kamikaze drones"
      }
     ]
    }
   ],
   "lo": 101.0,
   "hi": 101.0,
   "nClaims": 2
  },
  {
   "target": "Unclear",
   "metric": "mun:guided_bombs",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-27",
     "lo": 171.0,
     "hi": 171.0,
     "loc": "Pokrovsk / Dobropillia direction (summary pin, EST)",
     "refs": [
      {
       "id": "tg-genstaff-42716-2200-178-clashes",
       "url": "https://t.me/GeneralStaffZSU/42716",
       "text": "1 missile strike, 46 air strikes, 171 KABs, 5942 kamikaze drones, 1563 shellings"
      }
     ]
    },
    {
     "date": "2026-10-28",
     "lo": 188.0,
     "hi": 188.0,
     "loc": "Front-wide (summary pin Pokrovsk/Dobropillia direction, EST)",
     "refs": [
      {
       "id": "tg-genstaff-42723-2200-181-clashes",
       "url": "https://t.me/GeneralStaffZSU/42723",
       "text": "55 air strikes, 188 guided bombs, 5249 kamikaze drones"
      }
     ]
    },
    {
     "date": "2026-10-29",
     "lo": 170.0,
     "hi": 170.0,
     "loc": "Front-wide (plotted Kostiantynivka dir.) (EST)",
     "refs": [
      {
       "id": "tg-genstaff-42731-2200-191-clashes",
       "url": "https://t.me/GeneralStaffZSU/42731",
       "text": "170 KABs and 6174 kamikaze drones used"
      }
     ]
    }
   ],
   "lo": 529.0,
   "hi": 529.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-27",
     "lo": 1563.0,
     "hi": 1563.0,
     "loc": "Pokrovsk / Dobropillia direction (summary pin, EST)",
     "refs": [
      {
       "id": "tg-genstaff-42716-2200-178-clashes",
       "url": "https://t.me/GeneralStaffZSU/42716",
       "text": "1 missile strike, 46 air strikes, 171 KABs, 5942 kamikaze drones, 1563 shellings"
      }
     ]
    }
   ],
   "lo": 1563.0,
   "hi": 1563.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-28",
     "lo": 13.0,
     "hi": 13.0,
     "loc": "Occupied Donetsk obl. (EST)",
     "refs": [
      {
       "id": "web-tass-2209177-dpr-13-attacks",
       "url": "https://tass.com/politics/2209177",
       "text": "TASS citing the DPR (occupation) office documenting 'Ukrainian war crimes': 13 UA attacks on DPR settlements in the past day"
      }
     ]
    }
   ],
   "lo": 13.0,
   "hi": 13.0,
   "nClaims": 1
  },
  {
   "target": "Ukraine",
   "metric": "mun:ground_attacks",
   "claimant": "Ukraine GenStaff / MoD",
   "series": "Ukraine GenStaff / MoD — daily / past-24h figures",
   "area": null,
   "days": [
    {
     "date": "2026-10-28",
     "lo": 32.0,
     "hi": 32.0,
     "loc": "Pokrovsk / Dobropillia direction (summary pin, EST)",
     "refs": [
      {
       "id": "tg-genstaff-42718-0800-191-clashes",
       "url": "https://t.me/GeneralStaffZSU/42718",
       "text": "32 RU attacks on Pokrovsk dir"
      }
     ]
    },
    {
     "date": "2026-10-29",
     "lo": 23.0,
     "hi": 23.0,
     "loc": "Front-wide (plotted Kostiantynivka dir.) (EST)",
     "refs": [
      {
       "id": "tg-genstaff-42731-2200-191-clashes",
       "url": "https://t.me/GeneralStaffZSU/42731",
       "text": "23 RU assaults repelled on Kostiantynivka dir., 18 Pokrovsk, 16 Huliaipole, 8 Lyman, 6 South-Slobozhanskyi, 4 Sloviansk, 2 Orikhiv"
      }
     ]
    }
   ],
   "lo": 55.0,
   "hi": 55.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-29",
     "lo": 42.0,
     "hi": 42.0,
     "loc": "Front-wide (pin Pokrovsk direction EST)",
     "refs": [
      {
       "id": "tg-genstaff-42725-0800-189-clashes",
       "url": "https://t.me/GeneralStaffZSU/42725",
       "text": "42 attacks stopped on Pokrovsk dir., 18 Kostiantynivka, 9 Huliaipole, 7 South-Slobozhanskyi, 5 Lyman"
      }
     ]
    },
    {
     "date": "2026-10-30",
     "lo": 24.0,
     "hi": 24.0,
     "loc": "Front-wide (EST — plotted Kostiantynivka dir.)",
     "refs": [
      {
       "id": "tg-genstaff-42733-0800-20261030",
       "url": "https://t.me/GeneralStaffZSU/42733",
       "text": "24 attacks Kostiantynivka dir., 19 Pokrovsk, 18 Huliaipole, 8 Lyman, 7 South-Slobozhanskyi, 4 Sloviansk"
      }
     ]
    }
   ],
   "lo": 66.0,
   "hi": 66.0,
   "nClaims": 2
  }
 ],
 "components": [
  {
   "claim_id": "tg-genstaff-20261024-0800-181-clashes",
   "date": "2026-10-24",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 23.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42675",
   "clause": "23 RU attacks on the Kostiantynivka direction and 19 on the Pokrovsk direction"
  },
  {
   "claim_id": "tg-genstaff-20261024-2200-117-clashes",
   "date": "2026-10-24",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 6000.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42680",
   "clause": "RU used 52 air strikes, 173 guided bombs, 6,000 kamikaze drones, 1,899 shellings. 14 assaults in Pokrovsk direction, 11 at Kostiantynivka, 9 in Huliaipole, 8 South-Slobozhanskyi, 5 Lyman, 3 Kupiansk, 3 Sloviansk"
  },
  {
   "claim_id": "tg-genstaff-20261024-2200-117-clashes",
   "date": "2026-10-24",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 52.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42680",
   "clause": "RU used 52 air strikes, 173 guided bombs, 6,000 kamikaze drones, 1,899 shellings. 14 assaults in Pokrovsk direction, 11 at Kostiantynivka, 9 in Huliaipole, 8 South-Slobozhanskyi, 5 Lyman, 3 Kupiansk, 3 Sloviansk"
  },
  {
   "claim_id": "tg-genstaff-20261024-2200-117-clashes",
   "date": "2026-10-24",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 173.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42680",
   "clause": "RU used 52 air strikes, 173 guided bombs, 6,000 kamikaze drones, 1,899 shellings. 14 assaults in Pokrovsk direction, 11 at Kostiantynivka, 9 in Huliaipole, 8 South-Slobozhanskyi, 5 Lyman, 3 Kupiansk, 3 Sloviansk"
  },
  {
   "claim_id": "tg-genstaff-20261024-2200-117-clashes",
   "date": "2026-10-24",
   "kind": "munition",
   "metricKey": "mun:artillery",
   "value": 1899.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42680",
   "clause": "RU used 52 air strikes, 173 guided bombs, 6,000 kamikaze drones, 1,899 shellings. 14 assaults in Pokrovsk direction, 11 at Kostiantynivka, 9 in Huliaipole, 8 South-Slobozhanskyi, 5 Lyman, 3 Kupiansk, 3 Sloviansk"
  },
  {
   "claim_id": "tg-genstaff-20261024-2200-117-clashes",
   "date": "2026-10-24",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 14.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42680",
   "clause": "RU used 52 air strikes, 173 guided bombs, 6,000 kamikaze drones, 1,899 shellings. 14 assaults in Pokrovsk direction, 11 at Kostiantynivka, 9 in Huliaipole, 8 South-Slobozhanskyi, 5 Lyman, 3 Kupiansk, 3 Sloviansk"
  },
  {
   "claim_id": "tg-genstaff-20261025-0800-193-clashes",
   "date": "2026-10-25",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 16.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42683",
   "clause": "Heaviest: Pokrovsk 16 attacks, Kostiantynivka 13, Huliaipole 13 (incl. near Bilohiria), S. Slobozhanskyi 8, Lyman 6 (incl. toward Novoselivka)"
  },
  {
   "claim_id": "news-modru-20261025-daily-summary-no-captures",
   "date": "2026-10-25",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 1072.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://ru.sputnik.kz/20261025/spetsoperatsiya-rossii-na-ukraine-svodka-minoborony-rf-za-25-oktyabrya--67950147.html",
   "clause": "1,072 UAVs downed over the day"
  },
  {
   "claim_id": "tg-genstaff-20261025-2200-157-clashes",
   "date": "2026-10-25",
   "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/42687",
   "clause": "13 attacks on Huliaipole direction (Uspishne, Rizdvianka, Dolynka, Hirke, Yehorivka)"
  },
  {
   "claim_id": "tg-genstaff-20261026-0800-177-clashes",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 8.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42689",
   "clause": "8 attacks repelled near Stepove, Zelena Dolyna, Kolodiazi, Stavky, Lyman, Zarichne (Lyman)"
  },
  {
   "claim_id": "tg-genstaff-20261026-0800-177-clashes",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 12.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42689",
   "clause": "12 attacks near Raiske, Mykolaipillia, Dovha Balka, Kostiantynivka, Oleksiievo-Druzhkivka, Novoselivka"
  },
  {
   "claim_id": "tg-genstaff-20261026-0800-177-clashes",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 36.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42689",
   "clause": "36 attacks stopped on Pokrovsk direction (Serhiivka, Molodetske"
  },
  {
   "claim_id": "tg-genstaff-20261026-0800-177-clashes",
   "date": "2026-10-26",
   "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/42689",
   "clause": "13 attacks Huliaipole direction (Uspishne, Rizdvianka, Dolynka, Hirke, Yehorivka)"
  },
  {
   "claim_id": "tg-genstaff-42696-2200-185-clashes",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 6385.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42696",
   "clause": "RU 48 air strikes, 155 KABs, 6385 kamikaze drones, 2007 shellings. 25 attacks on the Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42696-2200-185-clashes",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 48.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42696",
   "clause": "RU 48 air strikes, 155 KABs, 6385 kamikaze drones, 2007 shellings. 25 attacks on the Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42696-2200-185-clashes",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 155.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42696",
   "clause": "RU 48 air strikes, 155 KABs, 6385 kamikaze drones, 2007 shellings. 25 attacks on the Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42696-2200-185-clashes",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 25.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42696",
   "clause": "RU 48 air strikes, 155 KABs, 6385 kamikaze drones, 2007 shellings. 25 attacks on the Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42698-0800-196-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 9679.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42698",
   "clause": "RU 1 missile strike, 72 air strikes, 247 KABs, 9679 kamikaze drones, 2518 shellings. 26 attacks on Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42698-0800-196-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42698",
   "clause": "RU 1 missile strike, 72 air strikes, 247 KABs, 9679 kamikaze drones, 2518 shellings. 26 attacks on Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42698-0800-196-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 72.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42698",
   "clause": "RU 1 missile strike, 72 air strikes, 247 KABs, 9679 kamikaze drones, 2518 shellings. 26 attacks on Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42698-0800-196-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 247.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42698",
   "clause": "RU 1 missile strike, 72 air strikes, 247 KABs, 9679 kamikaze drones, 2518 shellings. 26 attacks on Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42698-0800-196-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:artillery",
   "value": 2518.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42698",
   "clause": "RU 1 missile strike, 72 air strikes, 247 KABs, 9679 kamikaze drones, 2518 shellings. 26 attacks on Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42698-0800-196-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 26.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42698",
   "clause": "RU 1 missile strike, 72 air strikes, 247 KABs, 9679 kamikaze drones, 2518 shellings. 26 attacks on Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-rozhin-231240-north-fpv-sumy-tanks",
   "date": "2026-10-27",
   "kind": "equipment",
   "metricKey": "equip:armor",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/boris_rozhin/231240",
   "clause": "Rozhin (via warriorofnorth): North GoF FPV crews of the 83rd Air Assault Bde, 30th MRR and 1434th MRR claim two UA tanks and a BREM recovery vehicle destroyed in the 'Sumy forests'. Unverified / EST"
  },
  {
   "claim_id": "tg-mod-68611-61nib-grad-north-dobropillia",
   "date": "2026-10-28",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 3,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68611",
   "clause": "RF MoD: Grad MLRS crews of the 61st Naval Infantry Brigade (Center GoF) destroyed three UA UAV control points north of Dobropillia"
  },
  {
   "claim_id": "tass-2210903-mod-weekly-alisivka-barylivka-obshche",
   "date": "2026-10-30",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 9.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://tass.com/politics/2210903",
   "clause": "2 massive and 9 group strikes"
  }
 ],
 "aggregates": [
  {
   "claim_id": "saldo-20261024-kherson-weekly-4-killed",
   "date": "2026-10-24",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 4,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Russian-installed occupation officials",
   "url": "https://t.me/SALDO_VGA/18001",
   "clause": "Occupation head Saldo: four civilians killed in UA strikes over the past week, incl. a woman and a 13-year-old child in a drone attack near Novoselka (Skadovsk district)"
  },
  {
   "claim_id": "tg-rybar-20261025-weekly-overview",
   "date": "2026-10-25",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Russian military units / milbloggers",
   "url": "https://t.me/rybar/84159",
   "clause": "Rybar weekly overview 25 Oct (pro-RU): Witkoff talks in St Petersburg 21 Oct, Omsk refinery strike, Starlink outage, Oleshky humanitarian deal"
  },
  {
   "claim_id": "tg-zelensky-20261025-weekly-vinnytsia",
   "date": "2026-10-25",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 2300.0,
   "qual": "~",
   "target": "Ukraine",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21520",
   "clause": "Zelensky: this week Russia launched ~1,600 KABs, 48 missiles and ~2,300 strike drones"
  },
  {
   "claim_id": "tg-zelensky-20261025-weekly-vinnytsia",
   "date": "2026-10-25",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 48.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21520",
   "clause": "Zelensky: this week Russia launched ~1,600 KABs, 48 missiles and ~2,300 strike drones"
  },
  {
   "claim_id": "tg-zelensky-20261025-weekly-vinnytsia",
   "date": "2026-10-25",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 1600.0,
   "qual": "~",
   "target": "Ukraine",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21520",
   "clause": "Zelensky: this week Russia launched ~1,600 KABs, 48 missiles and ~2,300 strike drones"
  },
  {
   "claim_id": "tg-tass-20261025-belgorod-ambulance-fpv",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 4.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Russian regional officials",
   "url": "https://t.me/tass_agency/402268",
   "clause": "Belgorod operational HQ (via TASS/RIA): a Ukrainian drone hit an ambulance in the border area, injuring three paramedics (4 injured overall)"
  },
  {
   "claim_id": "tg-tass-20261025-belgorod-ambulance-fpv",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Russian regional officials",
   "url": "https://t.me/tass_agency/402268",
   "clause": "Belgorod operational HQ (via TASS/RIA): a Ukrainian drone hit an ambulance in the border area, injuring three paramedics (4 injured overall)"
  },
  {
   "claim_id": "tg-zelenskiy-21532-southern-bridge-16-ballistic",
   "date": "2026-10-27",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 4.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21532",
   "clause": "Kyiv Independent: 4 killed, 55 injured nationwide over the day"
  },
  {
   "claim_id": "tg-zelenskiy-21532-southern-bridge-16-ballistic",
   "date": "2026-10-27",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 55.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21532",
   "clause": "Kyiv Independent: 4 killed, 55 injured nationwide over the day"
  },
  {
   "claim_id": "web-isw-20261029-daytime-strikes",
   "date": "2026-10-30",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 19.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Independent analysts / OSINT",
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-29-2026",
   "clause": "ISW Oct 29: RU daytime long-range drone and loitering-munition strikes killed at least 19 and injured at least 82 across Ukraine on 29 Oct"
  },
  {
   "claim_id": "web-isw-20261029-daytime-strikes",
   "date": "2026-10-30",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 82.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Independent analysts / OSINT",
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-29-2026",
   "clause": "ISW Oct 29: RU daytime long-range drone and loitering-munition strikes killed at least 19 and injured at least 82 across Ukraine on 29 Oct"
  }
 ],
 "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/101221",
     "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://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-27-2026-6ae13feb115c7",
     "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/DnevnikDesantnika/49331",
     "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": "West of Chervonyi Yar, Zaporizhzhia obl. (EST — per RU channel Voin DV)",
     "echelon": "brigade",
     "url": "https://t.me/boris_rozhin/231033",
     "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/101090",
     "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": "Obshche area, Zaporizhzhia obl. (EST — per RU claim)",
     "echelon": "regiment",
     "url": "https://t.me/voin_dv/21763",
     "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": "Podoly approaches, Kupiansk district (EST — per grvZapad)",
     "echelon": "regiment",
     "url": "https://t.me/grvZapad/20189",
     "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/1439259-uspih-u-nih-nulovij-rosijska-armia-prodovzue-pihotni-sturmi-na-slovanskomu-napramku-vijskovij-81-oaebr/",
     "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"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-119-vdv-regt",
     "name": "119th Guards Airborne (VDV) Regiment (106th VDV Division)",
     "side": "Russia",
     "loc": "Near Stepnohirsk, W of Orikhiv, Zaporizhzhia obl. (EST — per RU milblogger via ISW)",
     "echelon": "regiment",
     "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-23-2026",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-347-mrr",
     "name": "347th Motor Rifle Regiment",
     "side": "Russia",
     "loc": "Approaches to N outskirts of Hlushkivka, Kupiansk direction, Kharkiv obl. (EST — per RU channel GrV Zapad)",
     "echelon": "regiment",
     "url": "https://t.me/grvZapad/20181",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-1437-mrr",
     "name": "1437th Motor Rifle Regiment (Assault) (RU) — claimed",
     "side": "Russia",
     "loc": "Serhiivka, Donetsk obl. — MoD storming claim (EST)",
     "echelon": "unit",
     "url": "https://t.me/mod_russia/68516",
     "status": "NOT CONFIRMED"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-120-nid",
     "name": "120th Naval Infantry Division (Baltic Fleet) (RU) — reported",
     "side": "Russia",
     "loc": "Oleksandrivka direction near Perebudova (EST — per Mashovets/ISW)",
     "echelon": "division",
     "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-25-2026",
     "status": "NOT CONFIRMED"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-122-mrr",
     "name": "122nd Motor Rifle Regiment (RU)",
     "side": "Russia",
     "loc": "Northern Kupiansk approaches, Kharkiv obl. (EST — RU channel 30 Oct)",
     "echelon": "unit",
     "url": "https://t.me/grvZapad/20234",
     "status": "not_verified"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ua-74-recon-bn",
     "name": "74th Separate Reconnaissance Battalion (UA) — RU-claimed redeployment",
     "side": "Ukraine",
     "loc": "Sumy obl. (EST — RU milblogger claim only)",
     "echelon": "unit",
     "url": "https://t.me/DnevnikDesantnika/49385",
     "status": "not_verified"
    }
   ],
   "movedUnits": [
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-center-gof",
     "name": "Central Grouping of Forces elements",
     "side": "Russia",
     "frm": "Dobropillia / Lidyne (Shakhove), Donetsk obl. — MoD Lidino liberation + town clearing (EST)",
     "to": "Beyond Pokrovsk — Hryshyne/Rodynske (EST — per RVvoenkor)",
     "km": 15,
     "url": "https://t.me/mod_russia/68625"
    },
    {
     "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://tass.com/politics/2210903"
    },
    {
     "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/68620"
    },
    {
     "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://t.me/boris_rozhin/231194"
    },
    {
     "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/42719"
    },
    {
     "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": "Raiske / Torske, W flank Druzhkivka dir. (EST — per Rybar)",
     "km": 23,
     "url": "https://t.me/rybar/84256"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-44-corps",
     "name": "44th Army Corps",
     "side": "Russia",
     "frm": "Hannopillia, Kharkiv obl. — capture claim attributed 8 Oct (EST, unverified aggregator)",
     "to": "Barylivka, Sumy obl. (EST)",
     "km": 178,
     "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-28-2026"
    },
    {
     "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 approaches, occupied Kherson obl. — sapper per RF MoD 30 Oct (EST)",
     "km": 192,
     "url": "https://t.me/mod_russia/68647"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-40-nib",
     "name": "40th Naval Infantry Brigade (Pacific Fleet / Baikal)",
     "side": "Russia",
     "frm": "Mykilske / Hulyaipole NW (EST — RF claim)",
     "to": "Oleksandrivka direction near Perebudova (EST — per Mashovets/ISW)",
     "km": 69,
     "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-25-2026"
    },
    {
     "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-39-mrb",
     "name": "39th Motorized Rifle Brigade",
     "side": "Russia",
     "frm": "Hulyaipole / southern Zaporizhzhia theme (EST — ISW 68th AC / EMD)",
     "to": "Obshche area, W of Mykilske, Zaporizhzhia obl. (EST — per RU claim)",
     "km": 28,
     "url": "https://t.me/mod_russia/68573"
    },
    {
     "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 direction (EST — per ISW Oct 26)",
     "km": 242,
     "url": "https://t.me/divgen/84754"
    },
    {
     "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/wargonzo/37998"
    },
    {
     "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": "Barylivka, Sumy obl. (EST)",
     "km": 192,
     "url": "https://tass.com/politics/2210903"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-5-tank-bde",
     "name": "5th Separate Tank Brigade (36th Combined Arms Army) — claimed",
     "side": "Russia",
     "frm": "Rozovka, Zaporizhzhia (EST — MoD claim)",
     "to": "W of Zelena Dibrova, Zaporizhzhia obl. (EST — per Voin DV)",
     "km": 18,
     "url": "https://t.me/voin_dv/21816"
    },
    {
     "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-8-air-assault",
     "name": "8th Air Assault Corps (Ukraine)",
     "side": "Ukraine",
     "frm": "Air Assault Forces — active defense + 68th AAM (EST)",
     "to": "Barylivka, Sumy obl. (EST)",
     "km": 287,
     "url": "https://www.ukrinform.net/rubric-ato/4179016-ukrainian-forces-deny-russian-claims-of-capturing-barylivka-in-sumy-region.html"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-15-omsb",
     "name": "15th Separate Motor Rifle Brigade",
     "side": "Russia",
     "frm": "Dobropolye approaches — Giatsint-B fire claim (EST)",
     "to": "Serhiivka, Donetsk obl. — MoD storming claim (EST)",
     "km": 37,
     "url": "https://t.me/mod_russia/68516"
    },
    {
     "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://t.me/boris_rozhin/231350"
    },
    {
     "ts": "2026-10-16T14:04:00Z",
     "id": "unit-ru-37-gmrb",
     "name": "37th Separate Guards Motor Rifle Brigade (36th Army, Vostok GoF) — claimed",
     "side": "Russia",
     "frm": "Zaporizhzhia direction (EST — no place named; plotted Huliaipole sector)",
     "to": "Myrivka area W of Verkhnia Tersa river, Zaporizhzhia obl. (EST — per pro-RU outlet / RF MoD claim)",
     "km": 17,
     "url": "https://t.me/voin_dv/21776"
    }
   ],
   "terrFeatures": 7,
   "terrRefreshed": 0,
   "terrRefreshedNames": [],
   "unitsTotal": 298,
   "unitsRefreshed": 65,
   "terrGeneratedAt": "2026-10-16T14:04:00Z"
  },
  "claims": [
   {
    "claim_id": "x-suriyak-20261025-nova-kozacha-mostly-ru",
    "url": "https://x.com/Suriyakmaps/status/2114434688127291829",
    "handle": "Suriyakmaps",
    "claimant": "Media report: Suriyakmaps",
    "claimant_side": null,
    "date": "2026-10-25",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Nova Kozacha, Kharkiv obl.",
    "summary": "Suriyak Maps: over three weeks RU took control of most of Nova Kozacha; fighting continues in the southern part with UA counterattacks. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "x-suriyak-20261025-vovchansk-ua-counteroffensive",
    "url": "https://x.com/Suriyakmaps/status/2114442378404598008",
    "handle": "Suriyakmaps",
    "claimant": "Media report: Suriyakmaps",
    "claimant_side": null,
    "date": "2026-10-25",
    "kind": "gain",
    "gainer": "Ukraine",
    "loser": "Russia",
    "km2": [],
    "scope": "event",
    "loc": "Vovchansk / Vilkhuvatka fronts, Kharkiv obl. (EST)",
    "summary": "Suriyak Maps weekly (days 1670–1674): UA counter-offensive toward Vovchansk fully recaptured Bilyi Kolodiaz and Zemliane; fighting shifted back to the Tatar Forest and outskirts of Symynivka and Vilcha; Volokhivske now contested; UA presence reported in hangars on S outskirts of Vovchansk (via T-21-"
   },
   {
    "claim_id": "isw-20261025-oleksandrivka-ua-gains-perebudova-fedorivka",
    "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-25-2026",
    "handle": "ISW / CTP",
    "claimant": "Independent analysts / OSINT",
    "claimant_side": "Neutral",
    "date": "2026-10-26",
    "kind": "gain",
    "gainer": "Ukraine",
    "loser": "Russia",
    "km2": [],
    "scope": "event",
    "loc": "Oleksandrivka direction — Perebudova / Komar / Fedorivka (EST)",
    "summary": "ISW Oct 25 (topline): UA forces making slow but tactically significant gains in the Oleksandrivka direction; relaying Mashovets — UA liberated Perebudova, Komar, Fedorivka and advanced SW of Vesele up to Skudne; RU still holds NE outskirts of Perebudova; ISW assesses UA likely pushed RU from a salie"
   },
   {
    "claim_id": "isw-20261025-dobropillia-infiltration-geolocated",
    "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-25-2026",
    "handle": "ISW / CTP",
    "claimant": "Independent analysts / OSINT",
    "claimant_side": "Neutral",
    "date": "2026-10-26",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Central Dobropillia, Donetsk obl.",
    "summary": "ISW Oct 25: geolocated footage shows RU forces continuing to expand their infiltration zone in central Dobropillia; a Russian milblogger claimed RU seized Bilytske and advanced within and south of Dobropillia (not confirmed by ISW). Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "tg-modrussia-20261026-obshchee-captured",
    "url": "https://t.me/mod_russia/68553",
    "handle": "mod_russia",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-26",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [
     [
      12.0,
      "event"
     ]
    ],
    "scope": "event",
    "loc": "Obshche (Obshchee), Zaporizhzhia obl. (EST)",
    "summary": "RF MoD: Vostok GoF units 'liberated' the settlement of Obshche (Obshchee), Zaporizhzhia obl. Voin DV: 39th Sep. MRB of 68th Army Corps took it after wedging 5+ km into UA defences, crossing the Solona river and an anti-tank ditch, 'over 12 sq km' taken; claims up to a company of UA 225th Assault Reg"
   },
   {
    "claim_id": "x-2114746605538562285",
    "url": "https://x.com/Suriyakmaps/status/2114746605538562285",
    "handle": "@Suriyakmaps",
    "claimant": "Independent analysts / OSINT",
    "claimant_side": "Neutral",
    "date": "2026-10-26",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Nova Kozacha, Kharkiv obl. (EST)",
    "summary": "Suriyak Maps (Dergachi front): over three weeks RU took control of most of Nova Kozacha; fighting continues in the south of the village with UA counterattacks. Suriyak Maps (cite-only) weekly update, Day 1700-1704; text truncated at link in X API. Not confirmed by ISW at ingest. Unverified / EST — I"
   },
   {
    "claim_id": "x-2114748969381224789",
    "url": "https://x.com/Suriyakmaps/status/2114748969381224789",
    "handle": "@Suriyakmaps",
    "claimant": "Independent analysts / OSINT",
    "claimant_side": "Neutral",
    "date": "2026-10-26",
    "kind": "gain",
    "gainer": "Ukraine",
    "loser": "Russia",
    "km2": [],
    "scope": "event",
    "loc": "Bilyi Kolodiaz / Vovchansk, Kharkiv obl. (EST)",
    "summary": "Suriyak Maps (Vovchansk & Vilkhuvatka fronts): over two weeks UA continued its counteroffensive toward Vovchansk, fully recapturing Bilyi Kolodiaz and Zemliane and large swathes of surrounding ground. Suriyak Maps (cite-only) weekly update, Day 1700-1704; text truncated at link in X API. Not confirm"
   },
   {
    "claim_id": "x-2114756228291166266",
    "url": "https://x.com/Suriyakmaps/status/2114756228291166266",
    "handle": "@Suriyakmaps",
    "claimant": "Independent analysts / OSINT",
    "claimant_side": "Neutral",
    "date": "2026-10-26",
    "kind": "gain",
    "gainer": null,
    "loser": "Unclear",
    "km2": [],
    "scope": "event",
    "loc": "Sviati Hory park, near Lyman (EST)",
    "summary": "Suriyak Maps (Lyman front): after recapturing Lyman, UA spent two weeks retaking the woods of Sviati Hory National Park, incl. the Krasnolimansky quarry and Blakytne Lake. Suriyak Maps (cite-only) weekly update, Day 1700-1704; text truncated at link in X API. Not confirmed by ISW at ingest. Unverifi"
   },
   {
    "claim_id": "isw-20261026-kostiantynivka-ua-south-position",
    "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-26-2026",
    "handle": "ISW / CTP",
    "claimant": "Independent analysts / OSINT",
    "claimant_side": "Neutral",
    "date": "2026-10-27",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Kostiantynivka southern outskirts, Donetsk obl. (EST)",
    "summary": "ISW Oct 26: UA forces hold at least one position in the southern outskirts of Kostiantynivka (geolocated footage, 26 Oct), so RU likely lacks firm control there; RU infiltration continues into northern/northeastern Kostiantynivka. ISW relays a Kremlin-affiliated milblogger (Rybar) claim that RU adva"
   },
   {
    "claim_id": "isw-20261026-obshche-mod-claim-not-confirmed",
    "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-26-2026",
    "handle": "ISW / CTP",
    "claimant": "Independent analysts / OSINT",
    "claimant_side": "Neutral",
    "date": "2026-10-27",
    "kind": "gain",
    "gainer": null,
    "loser": "Unclear",
    "km2": [],
    "scope": "event",
    "loc": "Obshche, Zaporizhzhia obl. (EST)",
    "summary": "ISW Oct 26: RF MoD claimed the Eastern GoF seized Obshche (milblogger credits 39th MRB, 68th AC), but ISW has observed evidence of RU advances only to roughly 17 km east of Obshche; RU continued Huliaipole-direction attacks without advancing as UA counterattacked. Unverified / EST — INFO/SA only. No"
   },
   {
    "claim_id": "tg-modrussia-68573-obshche-5km-solona",
    "url": "https://t.me/mod_russia/68573",
    "handle": "mod_russia",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-27",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [
     [
      12.0,
      "event"
     ]
    ],
    "scope": "event",
    "loc": "Obshche, Zaporizhzhia obl. (EST)",
    "summary": "RF MoD follow-up on the Obshche capture claim: Vostok troops 'liberated' the village, advanced more than 5 km, crossed the Solona river and cleared over 12 km². Kots names the 39th Sep. MRB (68th AC). ISW Oct 26 had NOT confirmed RU presence at Obshche. Unverified / EST — INFO/SA only. Not for targe"
   },
   {
    "claim_id": "tg-zelensky-21547-third-landmark-operation",
    "url": "https://t.me/V_Zelenskiy_official/21547",
    "handle": "V_Zelenskiy_official",
    "claimant": "Ukrainian President / Cabinet",
    "claimant_side": "Ukraine",
    "date": "2026-10-27",
    "kind": "gain",
    "gainer": "Ukraine",
    "loser": "Russia",
    "km2": [],
    "scope": "event",
    "loc": "Kupiansk area (EST)",
    "summary": "Zelensky: Operation Veles by Khartiia is 'effectively our third landmark operation this year' after an Airborne Assault Forces operation (800+ km² liberated) and Operation Vivaldi in Donetsk (200+ km); says it shows RU failing near Kupiansk. Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "tg-suriyak-13309-mykolaivka-front-ua-gains",
    "url": "https://t.me/Suriyak_maps/13309",
    "handle": "Suriyak_maps",
    "claimant": "Media report: Suriyak_maps",
    "claimant_side": null,
    "date": "2026-10-27",
    "kind": "gain",
    "gainer": "Ukraine",
    "loser": "Russia",
    "km2": [],
    "scope": "event",
    "loc": "Rai-Oleksandrivka / Yurkivka / Vasiutynske area (EST)",
    "summary": "Suriyak Maps (cite-only assessor): UA incursions on the NE edge of Rai-Oleksandrivka, re-entered Kalenyky, fully recaptured Yurkivka and positions along the water channel, advancing towards Dibrova; UA 'virtually driven out' RU from Vasyuntynske. Same text on X. Unverified / EST — INFO/SA only. Not "
   },
   {
    "claim_id": "web-tass-2209379-rf-mod-alisivka-barylivka",
    "url": "https://tass.com/politics/2209379",
    "handle": "TASS",
    "claimant": "RU MoD",
    "claimant_side": "Russia",
    "date": "2026-10-28",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Barylivka (Sumy obl.) / Alisivka (Kharkiv obl.) (EST)",
    "summary": "RF MoD (via TASS, Telegram): Battlegroup North 'liberated' Alisivka (Derhachi area, Kharkiv obl.) and Barylivka (Sumy obl.). Milbloggers Kots/WarHunter name the 1431st MRR (Alisivka, vs UA 58th Mech Bde) and 41st MRR / 44th AC (Barylivka). Pin at Barylivka. UA 8th Air Assault Corps denies the Baryli"
   },
   {
    "claim_id": "tg-dnevnikdesantnika-49307-dobropillia-practically-taken",
    "url": "https://t.me/DnevnikDesantnika/49307",
    "handle": "DnevnikDesantnika",
    "claimant": "Independent analysts / OSINT",
    "claimant_side": "Neutral",
    "date": "2026-10-28",
    "kind": "gain",
    "gainer": "Ukraine",
    "loser": "Russia",
    "km2": [],
    "scope": "event",
    "loc": "Dobropillia (EST)",
    "summary": "DnevnikDesantnika: fighters report clearing of remaining small UA groups in Dobropillia, city 'practically liberated'; no organised UA resistance recorded. Contradicted by UA GS (attacks toward Dobropillia repelled) and ISW Oct 27 (no confirmed advances). Unverified / EST — INFO/SA only. Not for tar"
   },
   {
    "claim_id": "tg-dnevnik-49326-sumy-grey-zone-ivolzhanske",
    "url": "https://t.me/DnevnikDesantnika/49326",
    "handle": "DnevnikDesantnika",
    "claimant": "Media report: DnevnikDesantnika",
    "claimant_side": null,
    "date": "2026-10-28",
    "kind": "gain",
    "gainer": null,
    "loser": "Unclear",
    "km2": [],
    "scope": "event",
    "loc": "Oleshnia river — Ivolzhanske / Khrapivshchyna, Sumy obl. (EST)",
    "summary": "DnevnikDesantnika: UA massing and moving reserves along the Oleshnia river, widening the grey zone near Ivolzhanske and Khrapivshchyna; also repeats claim Dobropillia 'practically liberated' (disputed). Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "x-suriyak-2115522098840101157-shakhove-dobropillia",
    "url": "https://x.com/Suriyakmaps/status/2115522098840101157",
    "handle": "Suriyakmaps",
    "claimant": "Media report: Suriyakmaps",
    "claimant_side": null,
    "date": "2026-10-28",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Shakhove / Dobropillia fronts — Novoandriivka–Rohanske–Andriivka (EST)",
    "summary": "Suriyak weekly summary: RU advanced east and north of Novoandriivka to the outskirts of Rohanske; UA recaptured much of Andriivka; grey zone expanding toward Novoiavlenka / Novotroitske; UA advanced south of Novovodiane; RU took Vesele Pole and entered first buildings of Bilozerske and Bokove. Unver"
   },
   {
    "claim_id": "web-tass-2209825-pushilin-hot-spots-dpr",
    "url": "https://tass.com/politics/2209825",
    "handle": "TASS",
    "claimant": "Russian-installed occupation officials",
    "claimant_side": "Russia",
    "date": "2026-10-28",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Dobropillia / Oleksiievo-Druzhkivka (Donetsk obl.) — pin Dobropillia EST",
    "summary": "TASS: Pushilin says many hot spots remain along the DPR line even after Dobropillia and Oleksiievo-Druzhkivka were 'liberated' (RU claim; disputed by UA/ISW). Unverified / EST — INFO/SA only. Not for targeting."
   },
   {
    "claim_id": "tg-suriyak-13321-orikhiv-weekly",
    "url": "https://t.me/Suriyak_maps/13321",
    "handle": "Suriyak_maps",
    "claimant": "Media report: Suriyak_maps",
    "claimant_side": null,
    "date": "2026-10-29",
    "kind": "gain",
    "gainer": "Russia",
    "loser": "Ukraine",
    "km2": [],
    "scope": "event",
    "loc": "Omelnyk / Orikhiv front, Zaporizhzhia obl. (EST)",
    "summary": "Suriyak Maps weekly (Orikhiv front): RU took positions between Chervona Krynytsia and Yehorivka and entered central Omelnyk; UA advanced into Mala Tokmachka and Novodanylivka and retook positions in Orikhiv. Unverified / EST — INFO/SA only. Not for targeting."
   }
  ]
 },
 "strikesLog": [
  {
   "date": "2026-10-24",
   "areas": [
    {
     "area": "Kyiv (EST)",
     "items": [
      {
       "ts": "2026-10-24T00:57:34Z",
       "side": "Russia",
       "type": "strike",
       "handle": "UA Air Force",
       "summary": "UA Air Force: jet-powered attack drones flew over Kyiv overnight into 24 Oct (Troieshchyna, Obolon, Solomianka, Pechersk, Darnytsia and other districts named); residents told to shelter. Damage not yet reported. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/kpszsu/89961",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Rostov-on-Don / Taganrog / Myasnikovsky district (EST)",
     "items": [
      {
       "ts": "2026-10-24T04:54:07Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Interfax",
       "summary": "Rostov governor Slyusar (via Interfax): over 80 UAVs destroyed overnight over Rostov-on-Don, Taganrog and 9 districts; debris damaged a substation in khutor Kalinin (Myasnikovsky district, 172 homes without power) and 21 buses at a Rostovpassazhirtrans depot; no casualties. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/interfaxonline/80627",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Obolon district, Kyiv (EST)",
     "items": [
      {
       "ts": "2026-10-24T05:02:56Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Kyiv City Military Administration (via Ukrinform / Kyiv Independent): a Russian drone hit a private house in Obolon district overnight, injuring two people. UA Air Force: 126 strike drones launched (61 jet-powered), 101 downed/suppressed; hits at 14 locations. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ukrinform_news/172045",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Chornomorsk port, Odesa obl. (EST)",
     "items": [
      {
       "ts": "2026-10-24T05:29:18Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: overnight UAV strikes on Ukrainian port infrastructure — an uncrewed-boat production workshop hit in Chornomorsk port, and a dry-cargo ship carrying cargo for the UA military to Odesa hit at sea. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68492",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Borisovka district, Belgorod obl. (EST)",
     "items": [
      {
       "ts": "2026-10-24T07:08:38Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Interfax",
       "summary": "Belgorod operational HQ (via Interfax): an infrastructure facility damaged by a drone detonation in Borisovka district; some residents without power. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/interfaxonline/80630",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Crimea (EST)",
     "items": [
      {
       "ts": "2026-10-24T07:35:11Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Interfax",
       "summary": "Crimea head Aksyonov (via Interfax): power and water supply restrictions introduced after an accident on trunk grids outside the region caused by a Ukrainian UAV attack. Sevastopol: ~40% of cell base stations working; RU milbloggers link it to strikes on Krasnodar Krai substations. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/interfaxonline/80632",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Novoselka, Skadovsk district, occupied Kherson obl. (EST)",
     "items": [
      {
       "ts": "2026-10-24T08:00:48Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "SALDO_VGA",
       "summary": "Occupation head Saldo: four civilians killed in UA strikes over the past week, incl. a woman and a 13-year-old child in a drone attack near Novoselka (Skadovsk district); deaths also in Kostiantynivka (Hornostaivka district) and Kakhovka. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/SALDO_VGA/18001",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Tolyattikauchuk plant, Tolyatti, Samara obl. (EST)",
     "items": [
      {
       "ts": "2026-10-24T08:15:01Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: Tolyattikauchuk synthetic-rubber plant in Tolyatti (Samara obl.) hit overnight into 24 Oct; explosion and fire recorded. Tolyatti city head (via TASS) says industrial sites damaged, no casualties preliminarily. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42678",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Yeysk airfield, Krasnodar Krai (EST)",
     "items": [
      {
       "ts": "2026-10-24T08:15:01Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: an aircraft was hit at Yeysk airfield (Krasnodar Krai); degree of damage being clarified. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42678",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Proton-Electrotex plant, Oryol (EST)",
     "items": [
      {
       "ts": "2026-10-24T08:15:01Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff confirms the hit on the main production building of Proton-Electrotex in Oryol (strike of 23 Oct; earlier RU report ingested). Oryol governor (via TASS): bodies of three people found under rubble. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42678",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Occupied Zaporizhzhia obl. (Melitopol, EST)",
     "items": [
      {
       "ts": "2026-10-24T08:36:53Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "BalitskyEV",
       "summary": "Occupation head Balitsky: power supply to (occupied) Zaporizhzhia oblast disrupted after a UA drone attack on trunk grids outside the region. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/BalitskyEV/9195",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Dnipro (EST)",
     "items": [
      {
       "ts": "2026-10-24T10:09:46Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform and Suspilne correspondents report explosions in Dnipro during the day on 24 Oct; no official damage details yet. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ukrinform_news/172057",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Lozova, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-24T10:38:31Z",
       "side": "Russia",
       "type": "strike",
       "handle": "synegubov",
       "summary": "Kharkiv governor Synehubov: Russian missile strike on Lozova hit a warehouse building, causing a fire; a 45-year-old man died and two men were injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/synegubov/27001",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia city (EST)",
     "items": [
      {
       "ts": "2026-10-24T10:58:43Z",
       "side": "Russia",
       "type": "strike",
       "handle": "zoda_gov_ua",
       "summary": "Zaporizhzhia OVA: Russia attacked an infrastructure facility in Zaporizhzhia, two people injured preliminarily; traffic over the DniproHES dam fully closed, later partly reopened. RU channels post footage of Geran strikes on the city's cable-stayed bridge (from 22 Oct). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/zoda_gov_ua/68620",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Sverdlovsk (Dovzhansk), occupied Luhansk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-24T13:08:35Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "TASS",
       "summary": "TASS: one person in critical condition after a UA strike on a five-storey building in Sverdlovsk (occupied Luhansk obl.); Pasechnik earlier said four civilians were injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/402141",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Pokrovske hromada, Nikopol district, Dnipropetrovsk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-24T13:29:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Governor Hanzha via Ukrinform: Russian drone attack in Pokrovske community, Nikopol district injured 4 incl. a 14-year-old boy (critical). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177810-four-people-injured-in-russian-drone-attack-in-nikopol-district-including-child.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Northern industrial hub, Omsk (EST)",
     "items": [
      {
       "ts": "2026-10-24T13:52:03Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Interfax",
       "summary": "Interfax: Ukrainian UAVs reached the northern industrial hub of Omsk (~2,500 km from the border), per the governor. UA OSINT (Exilenova+) and X accounts show a large fire at a chemical plant; OSINT names Omsky Kauchuk (unconfirmed). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/interfaxonline/80643",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sloviansk, Donetsk obl.",
     "items": [
      {
       "ts": "2026-10-24T14:00:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Sloviansk CMA head Vadym Liakh (via Ukrinform): ~17:00 local airstrikes with FAB-250/FAB-500; 2 wounded; high-rises, two schools, admin building, infrastructure facility damaged. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177867-russian-airstrikes-on-sloviansk-injure-two-people-and-damage-buildings.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Konotop district, Sumy obl. (EST)",
     "items": [
      {
       "ts": "2026-10-24T14:37:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Sumy SES via Ukrinform: Russian UAVs hit a cattle-breeding agricultural enterprise in Konotop district on the afternoon of 24 Oct; 1 farm worker killed, 4 injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177835-russian-drones-attack-farm-in-sumy-region-one-killed-four-injured.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Chernihiv",
     "items": [
      {
       "ts": "2026-10-24T15:45:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "SES via Ukrinform: Russian attack on Chernihiv sparked a fire in a disused building; two women sought medical help. Region: 1 killed, 18 injured over past day. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177845-russian-forces-strike-chernihiv-fire-breaks-out-two-injured.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Krynytsi, Donetsk obl. (geolocated)",
     "items": [
      {
       "ts": "2026-10-24T16:53:29Z",
       "side": "Russia",
       "type": "strike",
       "handle": "GeoConfirmed",
       "summary": "GeoConfirmed: Russian VKS bombing of claimed Ukrainian positions at Krynytsi, Donetsk obl. (geolocated footage). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://x.com/GeoConfirmed/status/2114037574712852660",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Hranitne, Donetsk obl. (geolocated)",
     "items": [
      {
       "ts": "2026-10-24T17:00:19Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeoConfirmed",
       "summary": "GeoConfirmed (geolocated by @99Dominik_): Russian Ural truck destroyed by a Ukrainian drone near Hranitne. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://x.com/GeoConfirmed/status/2114039295556173831",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Synelnykove, Dnipropetrovsk obl.",
     "items": [
      {
       "ts": "2026-10-24T17:24:29Z",
       "side": "Russia",
       "type": "strike",
       "handle": "NOELreports",
       "summary": "NOELreports (aggregator): Russian drone struck Synelnykove, 3 killed and 8 injured incl. an 11-year-old girl; fire on 4th floor of an apartment block, shop and cars damaged. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://x.com/NOELreports/status/2114045374554153033",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Bryansk obl. and 13 other regions (pinned Bryansk, EST)",
     "items": [
      {
       "ts": "2026-10-24T17:28:12Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: 125 Ukrainian fixed-wing UAVs intercepted 08:00–20:00 MSK over Bryansk, Belgorod, Kursk, Samara, Sverdlovsk, Ulyanovsk, Chelyabinsk, Tyumen, Omsk oblasts, Perm krai, Bashkortostan, Udmurtia, Crimea and the Black Sea. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68507",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Bezliudivka hromada, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-24T18:32:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform/SES: Russian drone hit roof of a private company's warehouse in Bezliudivka community (Kharkiv suburb) in the evening, causing a fire; no casualties per preliminary reports. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177872-russian-attack-sparks-warehouse-fire-in-kharkiv-suburb.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kyiv, Shevchenkivskyi district (pinned city centre, EST)",
     "items": [
      {
       "ts": "2026-10-24T19:36:00Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "Ukrinform",
       "summary": "Kyiv mayor Klitschko (via Ukrinform): drone debris fell on an open parking lot in central Kyiv (Shevchenkivskyi district), cars damaged, 1 injured, no fire. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177880-drone-debris-falls-on-parking-lot-in-central-kyiv-injuring-one-person.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Vinnytsia obl., unnamed district (pinned Vinnytsia, EST)",
     "items": [
      {
       "ts": "2026-10-24T20:34:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Vinnytsia ODA head Zabolotna (via Ukrinform): Russian strike on an energy facility caused an emergency power outage in one district of Vinnytsia region; no injuries. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177886-russian-attack-leaves-one-district-in-vinnytsia-region-without-power.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kharkiv, Novobavarskyi district (pinned city, EST)",
     "items": [
      {
       "ts": "2026-10-24T21:01:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Kharkiv mayor Terekhov (via Ukrinform) and Governor Synehubov: Russian jet-powered drone struck the Novobavarskyi district in the evening of 24 Oct; 1 killed, 4 injured; a one-storey building caught fire. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4177887-russian-drone-attack-on-kharkiv-kills-one-person-and-injures-others.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "West of Chervonyi Yar, Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-24T21:30:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "voin_dv",
       "summary": "Voin DV (Vostok GoF channel): UAV operators of the 60th Separate Guards Motor Rifle Brigade (5th Army) claim strikes on Ukrainian personnel concentrations west of Chervonyi Yar, Zaporizhzhia direction. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/voin_dv/21742",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Zaporizhzhia city, cable-stayed bridge (pinned city, EST)",
     "items": [
      {
       "ts": "2026-10-24T23:00:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ISW / CTP",
       "summary": "ISW Oct 24: geolocated footage published 24 Oct shows Russian strikes against the Zaporizhzhia cable-stayed bridge, part of a campaign against Dnipro River bridges. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-24-2026-6add1dd5587c2",
       "status": "corroborated"
      }
     ]
    }
   ]
  },
  {
   "date": "2026-10-25",
   "areas": [
    {
     "area": "Kyiv approaches (Air Force tracking; pinned Kyiv, EST)",
     "items": [
      {
       "ts": "2026-10-25T01:39:09Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "kpszsu",
       "summary": "UA Air Force live tracking overnight 24–25 Oct: wave of Russian jet-powered drones over Zhytomyr, Kyiv, Vinnytsia, Poltava, Chernihiv, Odesa, Khmelnytskyi, Ternopil, Mykolaiv oblasts, incl. on Kyiv from the north; guided bombs toward Donetsk obl. and Zaporizhzhia. Attack ongoing at run time. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/kpszsu/90289",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Druzhkivka, Donetsk obl.",
     "items": [
      {
       "ts": "2026-10-25T02:03:01Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: Yug GoF Giatsint-B crews destroyed three shelters with Ukrainian personnel in Druzhkivka. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68511",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kharkiv (Epicentr logistics centre, Vasyshcheve terminal; pinned city, EST)",
     "items": [
      {
       "ts": "2026-10-25T05:08:25Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: overnight drone strikes hit the Epicentr logistics centre, a distribution centre and the Vasyshcheve logistics terminal in Kharkiv, plus a dry-cargo ship heading to Chornomorsk. Synehubov separately reports a hypermarket and warehouses damaged in Kharkiv. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68513",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Zamostye, Graivoron district, Belgorod obl. RF (approx)",
     "items": [
      {
       "ts": "2026-10-25T05:29:22Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "interfaxonline",
       "summary": "Interfax (Belgorod officials): one civilian killed by an FPV drone in Zamostye (Graivoron district); two injured in Blizhnyaya Igumenka and Shebekino. Kyiv Independent cites Belgorod mayor: 1 killed, 10 injured in overnight attack on Belgorod city. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/interfaxonline/80656",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Russia-wide (pinned Belgorod, EST)",
     "items": [
      {
       "ts": "2026-10-25T06:03:56Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: 532 Ukrainian fixed-wing drones intercepted overnight 20:00 MSK 24 Oct – 08:00 MSK 25 Oct over 20+ regions incl. Moscow region, Perm Krai, Lipetsk, Tatarstan and Crimea. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68515",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kursk obl., RF (Kozyrevka, Bolshesoldatsky district; pinned approx)",
     "items": [
      {
       "ts": "2026-10-25T06:16:56Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "kurskadm",
       "summary": "Kursk governor Khinshtein: 174 UA drones downed 24–25 Oct; FPV drone hit a car in Kozyrevka (1 injured); energy facility damaged in Khomutovka district, 104 settlements without power. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/kurskadm/112108",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Lozova, Kharkiv obl. (plus Kharkiv, Derhachi, Mala Danylivka)",
     "items": [
      {
       "ts": "2026-10-25T06:43:34Z",
       "side": "Russia",
       "type": "strike",
       "handle": "synegubov",
       "summary": "Kharkiv governor Synehubov: over the past day Kharkiv and 14 settlements hit; 1 killed (Lozova), 11 injured; 7 missiles, 1 KAB, 30+ drones; Industrialnyi, Osnovianskyi, Novobavarskyi districts of Kharkiv hit; hypermarket, warehouses, 16 cars damaged. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/synegubov/27020",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Synelnykove, Dnipropetrovsk obl.",
     "items": [
      {
       "ts": "2026-10-25T06:52:56Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Dnipropetrovsk ODA: death toll from the 24 Oct Russian strike on Synelnykove rose to 4 after a 62-year-old man died in hospital; 13 injured, 4 in serious condition. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dnipropetrovskaODA/32831",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ukraine-wide (pinned Kyiv, EST)",
     "items": [
      {
       "ts": "2026-10-25T07:02:01Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "GeneralStaffZSU",
       "summary": "UA GS/Air Force: overnight 24–25 Oct Russia launched 153 Shahed-type strike drones (92 jet-powered) plus decoys; 119 downed/suppressed (64 jet-powered); hits at 15 locations, debris at 9. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42685",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia, cable-stayed bridge (pinned city, EST)",
     "items": [
      {
       "ts": "2026-10-25T08:23:26Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: Unmanned Systems Troops struck the cable-stayed bridge near Zaporizhzhia (new video; follows ISW Oct 24 geolocation of strikes on the bridge). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68518",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Moscow–Melitopol bus route (pinned Melitopol, EST)",
     "items": [
      {
       "ts": "2026-10-25T08:58:46Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "BalitskyEV",
       "summary": "Occupation head Balitsky: a Ukrainian drone attacked a scheduled Moscow–Melitopol bus with 8 aboard; 3 injured (one driver serious). Location of attack not given. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/BalitskyEV/9197",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Hostishchevo / Kurgannoye, Belgorod obl. RF (pinned, EST)",
     "items": [
      {
       "ts": "2026-10-25T09:00:52Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA GS: on 24 Oct and overnight 25 Oct struck RU radars near Hostishchevo and Kurgannoye (Belgorod obl.), a CP near Tarasivka (Zaporizhzhia obl.), a command-observation post near Hola Prystan (Kherson obl.), and troop concentrations near Mykolaivka and Novoukrainka (Donetsk obl.), Berdiansk, Okhrimivka and Tarasivka. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42686",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Vinnytsia (apartment building) — weekly totals",
     "items": [
      {
       "ts": "2026-10-25T09:09:53Z",
       "side": "Russia",
       "type": "strike",
       "handle": "V_Zelenskiy_official",
       "summary": "Zelensky: this week Russia launched ~1,600 KABs, 48 missiles and ~2,300 strike drones; a Russian drone hit an apartment building in Vinnytsia (6 injured); Dnipropetrovsk shelling killed 4, 22 injured; double-tap on Kharkiv hypermarket injured rescuers; hits on TPP, substations, mines, grain stores in 9 oblasts. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/V_Zelenskiy_official/21520",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia city (bus stop; pinned city, EST)",
     "items": [
      {
       "ts": "2026-10-25T09:27:46Z",
       "side": "Russia",
       "type": "strike",
       "handle": "zoda_gov_ua",
       "summary": "Zaporizhzhia ODA: Russian FPV drone struck near a bus stop in Zaporizhzhia city; two men injured (preliminary). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/zoda_gov_ua/68631",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Poltava (Epicentr shopping centre)",
     "items": [
      {
       "ts": "2026-10-25T09:35:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Kyiv Post",
       "summary": "Kyiv Post / Poltava ODA head Diakivnych: Russian strike hit the Epicentr shopping centre in Poltava, causing a fire; a 52-year-old woman injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.kyivpost.com/post/88113",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Berezniki, Perm Krai RF (Avisma titanium plant)",
     "items": [
      {
       "ts": "2026-10-25T10:48:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Kyiv Independent",
       "summary": "Kyiv Independent: Ukrainian drones struck the Avisma titanium sponge plant in Berezniki, Perm Krai (>1,400 km from border) per monitoring channel Exilenova+; Perm governor Makhonin says 11 drones downed, an 'industrial facility' minor damage, 5 employees injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://kyivindependent.com/ukraine-strikes-russian-titanium-plant-more-than-1-400-kilometers-from-border-monitoring-channel-claims/",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Yelets, Lipetsk obl. RF (industrial zone / Energiya plant)",
     "items": [
      {
       "ts": "2026-10-25T11:23:58Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "Lipetsk governor Artamonov (via TASS/RIA/Interfax): Ukrainian strike on Yelets industrial zone; a female paramedic injured. Monitoring channels/Astra say the target was the Energiya battery plant; UA-aligned X accounts claim Storm Shadow/SCALP use (unconfirmed). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/402253",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Kherson, Tsentralnyi district",
     "items": [
      {
       "ts": "2026-10-25T13:11:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrainska Pravda",
       "summary": "Kherson City MA / Yaroslav Shanko (via Ukrainska Pravda): Russian drone hit a bus with passengers in the Tsentralnyi district ~15:11 local; six injured, a 67-year-old man later died in hospital. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.pravda.com.ua/eng/news/2026/10/25/8059643/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Belgorod obl. border area (pinned Belgorod, EST)",
     "items": [
      {
       "ts": "2026-10-25T15:03:44Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "Belgorod operational HQ (via TASS/RIA): a Ukrainian drone hit an ambulance in the border area, injuring three paramedics (4 injured overall). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/402268",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Black Sea, approaches to Odesa (EST)",
     "items": [
      {
       "ts": "2026-10-25T15:17:19Z",
       "side": "Russia",
       "type": "civilian_vessel",
       "handle": "mod_russia",
       "summary": "RF MoD: during the day drones struck a dry-cargo ship at sea that was carrying cargo to Odesa port 'for the AFU'. Also TASS 402270. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68530",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Novozybkov, Bryansk obl. RF",
     "items": [
      {
       "ts": "2026-10-25T16:36:25Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "rian_ru",
       "summary": "Bryansk governor Kovalchuk (via RIA/TASS): Ukrainian drone attack on the Bryansk–Gomel freight train in Novozybkov killed the driver; assistant lightly injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/rian_ru/348604",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Darnytsia CHP, Kyiv",
     "items": [
      {
       "ts": "2026-10-25T17:20:15Z",
       "side": "Russia",
       "type": "strike",
       "handle": "boris_rozhin",
       "summary": "Boris Rozhin (pro-RU, citing @Sever_Z): video shows the Darnytsia combined heat and power plant in Kyiv burning after a Russian strike, with power cut in the district; same channel posts claim hits on the South Bridge in Zaporizhzhia and a partially collapsed bridge over the Psel in Sumy obl. (231003). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/boris_rozhin/231008",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Western Russia (pinned Bryansk, EST)",
     "items": [
      {
       "ts": "2026-10-25T17:38:50Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: 38 Ukrainian drones intercepted 08:00–20:00 MSK over Bryansk, Belgorod, Kursk, Oryol, Perm, Smolensk, Tver regions and the Black Sea. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68533",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Zhytomyr",
     "items": [
      {
       "ts": "2026-10-25T17:53:38Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ukrinform_news",
       "summary": "Ukrinform correspondent: explosion heard in Zhytomyr during the evening jet-drone wave (UA Air Force tracked jet UAVs toward the city from the east, kpszsu/90490). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ukrinform_news/172112",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Yampil, Sumy obl. (roundup; pinned Yampil)",
     "items": [
      {
       "ts": "2026-10-25T21:45:15Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Suspilne evening roundup: Kharkiv Novobavarskyi drone strike injured a 14-year-old; Kherson Dniprovskyi woman (64) injured; Russian strike on a private house in Yampil (Sumy obl.) injured a 61-year-old; Mykolaivka hromada (Donetsk) man injured; drone set a grain store on fire in Mamekyne (Chernihiv obl.); Mykolaivka hromada (Dnipropetrovsk) man injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/78205",
       "status": "official_statement"
      }
     ]
    }
   ]
  },
  {
   "date": "2026-10-26",
   "areas": [
    {
     "area": "Zaporizhzhia city (EST)",
     "items": [
      {
       "ts": "2026-10-26T16:07:07Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "zoda_gov_ua",
       "summary": "Zaporizhzhia ODA: Russian strike hit a petrol station in Zaporizhzhia; a 46-year-old woman and a 41-year-old man injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/zoda_gov_ua/68667",
       "status": "official_statement"
      },
      {
       "ts": "2026-10-26T20:47:45Z",
       "side": "Russia",
       "type": "strike",
       "handle": "zoda_gov_ua",
       "summary": "Zaporizhzhia ODA: Russia attacked Zaporizhzhia; a car carrying five people was hit and a 17-year-old boy got shrapnel wounds to the leg. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/zoda_gov_ua/68669",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Black Sea / Greater Odesa ports (EST)",
     "items": [
      {
       "ts": "2026-10-26T00:50:00Z",
       "side": "Russia",
       "type": "civilian_vessel",
       "handle": "ISW / CTP",
       "summary": "ISW Oct 25 citing Ambrey / IMO via the Financial Times: strikes have impacted over 570 vessels in the Black Sea in 2026 (387 in Jul–Sep), killing at least 40 sailors; Russia accounts for ~90% of strikes on civilian shipping since Sep 10; TIS: fewer than 10 ships through Greater Odesa ports in September vs ~400 in July. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-25-2026",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Kharkiv, Kholodnohirskyi district",
     "items": [
      {
       "ts": "2026-10-26T01:28:08Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Kharkiv mayor Terekhov (via Suspilne) / Synehubov: Russian jet-powered Shahed hit the Kholodnohirskyi district of Kharkiv overnight; consequences being clarified. Earlier evening (Suspilne roundup) a 14-year-old injured by a drone in Novobavarskyi district. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/78207",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia",
     "items": [
      {
       "ts": "2026-10-26T01:49:59Z",
       "side": "Russia",
       "type": "strike",
       "handle": "zoda_gov_ua",
       "summary": "Zaporizhzhia ODA: enemy strikes on Zaporizhzhia overnight (UA Air Force: jet UAV + guided bombs toward the city); private houses, cars and a commercial building damaged, fire at one impact site, one person injured (preliminary). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/zoda_gov_ua/68644",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kirovohrad obl. — Kropyvnytskyi (EST)",
     "items": [
      {
       "ts": "2026-10-26T01:50:24Z",
       "side": "Russia",
       "type": "strike",
       "handle": "kpszsu",
       "summary": "UA Air Force: ballistic-missile threat (01:32–01:48Z), then missiles heading into Kirovohrad obl. from the south; Kropyvnytskyi told to shelter; jet UAVs also toward Zaporizhzhia, Kharkiv, Chernihiv obl. Outcome not yet reported. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/kpszsu/90539",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Chornomorsk port, Odesa obl. (also Kharkiv, Olshany, Kamianets-Podilskyi)",
     "items": [
      {
       "ts": "2026-10-26T05:13:42Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: overnight drone strikes hit a long/medium-range UAV depot in Olshany (Kharkiv obl.), PS-330 'Zaliutyne' substation in Kharkiv, a PS-330 substation in Kamianets-Podilskyi, three berth terminals and four warehouses at Chornomorsk port, and a cargo ship at sea carrying military goods to Odesa. Rozhin later posted claimed footage of 5 bulk carriers hit by Geran drones in the Black Sea. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68548",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ukraine-wide (pinned Kyiv, EST)",
     "items": [
      {
       "ts": "2026-10-26T06:27:57Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "GeneralStaffZSU",
       "summary": "UA: night of 26 Oct Russia launched 1 Kh-31P, 3 Kh-59/69 and 140 Shahed-type drones (70 jet-powered), Gerbera and decoys; 3 Kh-59/69 and 112 drones shot down/suppressed; hits at 15 locations, debris at 4. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42690",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia city",
     "items": [
      {
       "ts": "2026-10-26T06:39:37Z",
       "side": "Russia",
       "type": "strike",
       "handle": "zoda_gov_ua",
       "summary": "Zaporizhzhia ODA: night and morning strikes on Zaporizhzhia damaged private houses, cars and a commercial building (1 injured), then hit a closed shopping-centre building with fire. Tsaplienko: eight people injured in the city; 857 strikes on 52 settlements of the oblast in a day. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/zoda_gov_ua/68648",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Vinnytsia",
     "items": [
      {
       "ts": "2026-10-26T11:08:52Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Tsaplienko",
       "summary": "Explosions in Vinnytsia (Ukrinform correspondent, 08:09Z); local channels say Russia struck an Epicentr hypermarket; RVvoenkor posted claimed footage of heavy damage inside. Casualties not reported at ingest. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/Tsaplienko/101047",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Yelets, Lipetsk obl. RF",
     "items": [
      {
       "ts": "2026-10-26T11:13:58Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: on 25 Oct and night of 26 Oct UA forces hit the battery-cell workshop of the 'Energiya' plant in Yelets (sole maker of batteries for glide-bomb kits, Iskander-M, sea-launched cruise missiles); fire on site. Also confirmed earlier hits: Proton-Electrotex microchip shop in Orel (23 Oct), UAV launch/storage site near Donetsk (23 Oct), Tolyattikauchuk in Tolyatti (24 Oct). Tsaplienko: at least eight missiles hit Energiya. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42692",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Yasnohirka (Kramatorsk), Donetsk obl.",
     "items": [
      {
       "ts": "2026-10-26T12:09:05Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Suspilne citing the oblast administration: at least one killed and 10 injured (incl. a 13-year-old girl) in a morning Russian strike on Yasnohirka, Donetsk obl. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/78238",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Voronezh, RF",
     "items": [
      {
       "ts": "2026-10-26T12:24:43Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "RU officials: 113 Ukrainian drones downed over Voronezh obl. (70 over the city); deaths rose to three (governor via TASS), 17 injured; fires at several industrial sites and a business centre; rail traffic halted on Tresviatskaya–Somovo–Otrozhka section. Fire Point says its FP-1 drone hit 'Voronezhsintezkauchuk'; ASTRA OSINT: plant damaged. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/402414",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Pavlohrad, Dnipropetrovsk obl.",
     "items": [
      {
       "ts": "2026-10-26T12:59:47Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Dnipropetrovsk ODA (Hanzha): Russian drone strike on Pavlohrad killed one person and injured at least three, including two 10-year-old girls. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dnipropetrovskaODA/32845",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Melitopol, Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-26T15:05:07Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: on 25 Oct and night of 26 Oct UA forces hit a Russian army communications node and a UAV workshop near Melitopol, command posts near Myrnohrad (Donetsk obl.) and Chervonohirka (Zaporizhzhia obl.), a UAV control point near Vyshneve, and logistics depots near Komisarivka and Katerynivka (Luhansk obl.). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42694",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Enerhodar / ZNPP, Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-26T17:01:38Z",
       "side": "Russia",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "TASS: Russian MFA spokeswoman Zakharova claims Kyiv increased strikes on Enerhodar and the Zaporizhzhia NPP. No specifics given. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/402447",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kursk obl. (pinned; several regions, EST)",
     "items": [
      {
       "ts": "2026-10-26T17:15:20Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: between 08:00 and 20:00 Moscow time air defence intercepted 37 Ukrainian fixed-wing drones over Belgorod, Bryansk, Kursk, Oryol oblasts, the Moscow region and the Black Sea. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68563",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Belgorod obl. (location not stated, EST)",
     "items": [
      {
       "ts": "2026-10-26T17:21:29Z",
       "side": "Russia",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "TASS citing the Belgorod regional operational HQ: a woman was killed and three people injured in a Ukrainian attack on a car in Belgorod oblast. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/402450",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia city, central beach area (EST)",
     "items": [
      {
       "ts": "2026-10-26T17:26:01Z",
       "side": "Russia",
       "type": "strike",
       "handle": "DnevnikDesantnika",
       "summary": "Dnevnik Desantnika claims a FAB glide-bomb strike on the 'Venetsia' hotel near Zaporizhzhia's central beach, alleging UA troops were billeted there; building partly destroyed. No UA confirmation of a military target. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/DnevnikDesantnika/49243",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Novobavarskyi district, Kharkiv (EST)",
     "items": [
      {
       "ts": "2026-10-26T18:35:04Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "synegubov",
       "summary": "Kharkiv governor Synehubov: Russian missile strikes on Kharkiv's Novobavarskyi district killed two people and injured four (incl. a 17-year-old girl); 10 garages, 4 houses, 4 apartment blocks and a kindergarten damaged. Earlier drone hits on Kholodnohirskyi district. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/synegubov/27089",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Chernivtsi oblast (EST)",
     "items": [
      {
       "ts": "2026-10-26T19:07:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrainska Pravda",
       "summary": "Ukrainska Pravda citing Chernivtsi oblast authorities: a Russian drone attack damaged a critical infrastructure facility; parts of Chernivtsi without electricity. Liveuamap also lists a blackout in Chernivtsi. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.pravda.com.ua/eng/news/2026/10/26/8059827/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kyiv (EST)",
     "items": [
      {
       "ts": "2026-10-26T19:48:02Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ukrinform_news",
       "summary": "UA Air Force warned of ballistic missiles toward Kyiv from Chernihiv-oblast direction (19:44–19:46Z, at least three); Ukrinform correspondent reports explosions in Kyiv. Damage not yet reported at ingest. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ukrinform_news/172154",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Kyiv (city pin, EST)",
     "items": [
      {
       "ts": "2026-10-26T19:59:38Z",
       "side": "Russia",
       "type": "strike",
       "handle": "milinfolive",
       "summary": "Military Informant (RU milblogger) posts footage of the Kyiv ballistic impacts and relays a claim attributed to the Ukrainian side that up to 8 'RM-48U' missiles were aimed at Kyiv CHP-4 and CHP-5. No official confirmation of CHP hits; UA officials reported campus/residential damage. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/milinfolive/182203",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kyiv, Desnianskyi district — SUTE campus / Kyoto Park / Lisova metro (EST)",
     "items": [
      {
       "ts": "2026-10-26T21:10:56Z",
       "side": "Russia",
       "type": "strike",
       "handle": "V_Zelenskiy_official",
       "summary": "Evening ballistic strike on Kyiv (approx. 19:45Z): Zelensky says missiles hit a university campus, Kyoto Park, the area by a metro station and residential buildings. Klitschko/Kyiv Independent/Kyiv Post: 1 killed (body found in a partly destroyed building in Dniprovskyi district), 10 injured (mostly students of the State University of Trade and Economics dorms), ambulance crew hit, two medical facilities and a school damaged, emergency power cuts. BBC Ukrainian cites monitors: about 6–8 S-400 ballistic missiles. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/V_Zelenskiy_official/21531",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Lozova, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-26T23:17:40Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Tsaplienko",
       "summary": "UA journalist Tsaplienko: Russia struck the central part of Lozova (Kharkiv obl.). Earlier the UA Air Force had warned of Shahed drones toward Lozova; casualties not stated at ingest. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/Tsaplienko/101065",
       "status": "not_verified"
      }
     ]
    }
   ]
  },
  {
   "date": "2026-10-27",
   "areas": [
    {
     "area": "Oskil River crossing E of Oskil village, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-27T00:30:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ISW / CTP",
       "summary": "ISW Oct 26: RU conducted a FAB-3000 glide-bomb strike on an Oskil River crossing east of Oskil (SW of Borova), per geolocated footage published 25 Oct, amid efforts to disrupt UA logistics. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-26-2026",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Khrustalnyi area, occupied Luhansk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-27T00:32:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Kyiv Independent",
       "summary": "Kyiv Independent / UNN citing monitoring channel Exilenova+ and eyewitnesses: Ukrainian strike drones hit a Russian ammunition depot near Khrustalnyi (occupied Luhansk obl.) overnight 27 Oct; secondary detonations for over an hour. UA General Staff had not confirmed at ingest. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://kyivindependent.com/ukraine-reportedly-strikes-russian-ammunition-depot-in-occupied-luhansk-oblast/",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kyiv (city pin, EST)",
     "items": [
      {
       "ts": "2026-10-27T01:30:34Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Second ballistic wave on Kyiv overnight 27 Oct: UA Air Force reported repeated ballistic launches toward Kyiv from ~01:27Z; Suspilne correspondents report explosions in Kyiv at 01:30Z and repeated explosions at 01:46Z. Damage not yet reported at ingest. Air Force also reported a high-speed target toward Lozova (01:40Z) and jet drones over several oblasts. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/78273",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Near Prymorsk, occupied Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-27T03:59:31Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "BalitskyEV",
       "summary": "RU-installed Zaporizhzhia head Balitsky: a UA drone attacked a Simferopol–Moscow passenger bus near Prymorsk; 31 people aboard, one killed, injured hospitalised. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/BalitskyEV/9206",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Western Russia (Bryansk/Kursk/Belgorod etc., EST)",
     "items": [
      {
       "ts": "2026-10-27T05:52:37Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: 222 Ukrainian fixed-wing UAVs intercepted overnight over Novgorod, Tver, Belgorod, Bryansk, Kursk, Kaluga, Oryol, Tula, Voronezh, Smolensk, Rostov oblasts, Krasnodar krai, Crimea and the Black Sea. DnevnikDesantnika: a man killed in Bryansk by a drone-dropped explosive, 6 injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68575",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kyiv (claimed targets, EST)",
     "items": [
      {
       "ts": "2026-10-27T06:18:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: overnight massed strike with ground-based precision weapons and UAVs on Ukrainian defence-industry and transport targets — claims hits in Kyiv on a long/medium-range drone plant, the 'Oakline' workshop assembling Fire Point FP-1/FP-2 drones, another drone workshop and the 'Southern' road-rail bridge; in Kharkiv obl. a 'Regional Logistics Centre' customs terminal; and vessels serving the AFU (incl. a dry-cargo ship bound for Chornomorsk). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68576",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kyiv (main axis of overnight attack, EST)",
     "items": [
      {
       "ts": "2026-10-27T07:26:48Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "GeneralStaffZSU",
       "summary": "UA GS / Air Force: overnight 27 Oct RU launched Iskander-M/S-400 ballistic missiles from Bryansk obl. and 280 Shahed (69 jet-powered)/Gerbera/decoy drones; main axis Kyiv. 257 targets downed/suppressed (2 ballistic missiles, 255 UAVs); hits recorded at 25 locations, debris at 16. Zelensky separately says 16 ballistic missiles overnight. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42700",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Southern (Pivdennyi) Bridge, Kyiv (EST)",
     "items": [
      {
       "ts": "2026-10-27T08:19:45Z",
       "side": "Russia",
       "type": "strike",
       "handle": "V_Zelenskiy_official",
       "summary": "Zelensky: 16 ballistic missiles and 280+ drones overnight; hits in Kyiv including the Southern Bridge — 'a serious escalation in Russia's operation against our logistics'; injured from the evening campus strike rose to 12. UNN photo report: Iskander-M crater hit both metro tracks on the bridge; Ukranews: woman (46) killed, 15 injured in Kyiv, metro green line running only Syrets–Vydubychi. RF MoD 68576 claims the bridge as a target used for military transit. Kyiv Independent: 4 killed, 55 injured nationwide over the day. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/V_Zelenskiy_official/21532",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Izium, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-27T08:22:25Z",
       "side": "Russia",
       "type": "strike",
       "handle": "synegubov",
       "summary": "Synehubov: RU missile strike on Izium damaged 8 private houses, a garage and 7 cars; no casualties. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/synegubov/27098",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Lgov, Kursk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-27T10:09:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "kurskadm",
       "summary": "Kursk governor Khinshtein: UA drones hit a gas station in Lgov — 1 man injured, station roof and 6 buses damaged. Daily summary (112187): 169 drones downed in 24h; 1 injured in Nagolnoe; damage in Krivtsovo, Durovo, Ilek. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/kurskadm/112189",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Derhachi, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-27T10:56:39Z",
       "side": "Russia",
       "type": "strike",
       "handle": "synegubov",
       "summary": "Kharkiv OVA Synehubov: RU missile strike on Derhachi hit a warehouse building, damaged gas-station equipment and a car; injured later rose to 5. Separately drones hit Kharkiv city districts (Slobidskyi, Shevchenkivskyi — 1 injured, Kholodnohirskyi) and a building hypermarket (Tsaplienko). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/synegubov/27099",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kramatorsk, Donetsk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-27T13:33:26Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ukrinform_news",
       "summary": "Ukrinform citing SES: RU strikes set a 9-storey building and private houses on fire in Kramatorsk; during firefighting a RU drone hit a fire tanker (rescuers unhurt). DnevnikDesantnika claims VKS strikes on Sloviansk/Kramatorsk and on a bridge in Kramatorsk. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ukrinform_news/172202",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Diakove, occupied Luhansk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-27T13:44:26Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: on 26 Oct and overnight 27 Oct UA forces struck RU ammunition depots near Diakove (Luhansk obl.) and Ohorodne (Donetsk obl.), an equipment concentration near Krasnohorivka, MTS depots near Luhansk, Antratsyt and Tymonove, and personnel concentrations near Lahidne, Antratsyt and Novopetrivka (Zaporizhzhia). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42703",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Barvinivka / Voskresenka, Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-27T14:00:11Z",
       "side": "Russia",
       "type": "strike",
       "handle": "voin_dv",
       "summary": "Voin DV: 37th Guards MRB drone operators struck Ukrainian personnel on the Zaporizhzhia direction; heavy fighting continues around Barvinivka and Voskresenka. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/voin_dv/21785",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Nadtochii, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-27T15:39:23Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: daytime UAV strikes hit an electronics plant ('NTP Ukrspetszviazok') in Nadtochii, Kharkiv oblast, and a dry-cargo ship carrying military cargo to Odesa port at sea. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68583",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Chernihiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-27T16:39:01Z",
       "side": "Russia",
       "type": "strike",
       "handle": "DnevnikDesantnika",
       "summary": "Dnevnik Desantnika: Geran-2/4 strike set fire to a warehouse in Chernihiv oblast said to store small drones and winter kit for the AFU. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/DnevnikDesantnika/49280",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kyiv / northern & central Ukraine (EST)",
     "items": [
      {
       "ts": "2026-10-27T17:34:24Z",
       "side": "Russia",
       "type": "strike",
       "handle": "kpszsu",
       "summary": "UA Air Force evening alerts: Russian jet-powered UAVs heading for Vyshhorod/Kyiv (Pechersk, Borshchahivka, Vynohradar), Chernihiv north, Cherkasy, Rivne, Kryvyi Rih, Dnipro and Ovruch; guided bombs on Kharkiv, Dnipropetrovsk and Zaporizhzhia oblasts. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/kpszsu/90898",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Western Russia (Belgorod–Moscow region) (EST)",
     "items": [
      {
       "ts": "2026-10-27T17:58:41Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: between 08:00 and 20:00 MSK air defence intercepted 71 Ukrainian UAVs over Belgorod, Bryansk, Kaluga, Kursk, Oryol, Tula oblasts and the Moscow region (also TASS). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68589",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sumy forests, Sumy obl. border area (EST)",
     "items": [
      {
       "ts": "2026-10-27T20:31:26Z",
       "side": "Russia",
       "type": "strike",
       "handle": "boris_rozhin",
       "summary": "Rozhin (via warriorofnorth): North GoF FPV crews of the 83rd Air Assault Bde, 30th MRR and 1434th MRR claim two UA tanks and a BREM recovery vehicle destroyed in the 'Sumy forests'. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/boris_rozhin/231240",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Osnovianskyi district, Kharkiv (EST)",
     "items": [
      {
       "ts": "2026-10-27T21:39:26Z",
       "side": "Russia",
       "type": "strike",
       "handle": "synegubov",
       "summary": "Kharkiv OVA Synehubov / mayor Terekhov: a RU drone hit an apartment building in Kharkiv's Osnovianskyi district, causing a fire; 4 injured incl. a 4-year-old boy. Reported by Suspilne, Ukrinform, Interfax-UA and Kyiv Post. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/synegubov/27134",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Center GoF zone, Donetsk obl. (location not given, EST)",
     "items": [
      {
       "ts": "2026-10-27T22:02:01Z",
       "side": "Russia",
       "type": "strike",
       "handle": "boris_rozhin",
       "summary": "Rozhin reposting zalaaero: units of the 41st CAA (Center GoF) claim a French 155-mm Caesar SPG destroyed, final hit by a Lancet loitering munition. No location given; pin is a generic Center-GoF placeholder. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/boris_rozhin/231252",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Lipetsk / NLMK area, Russia (EST)",
     "items": [
      {
       "ts": "2026-10-27T23:29:56Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "KyivIndependent",
       "summary": "Kyiv Independent citing Exilenova+: explosions and fires in Lipetsk late 27 Oct after a reported Ukrainian attack; Exilenova+ notes a fire near the NLMK steel plant; RU milblogger RVvoenkor claims a missile attack and a fire at an industrial site from 'Flamingo' cruise-missile debris. No statement found from Lipetsk authorities at time of check. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://kyivindependent.com/fires-burn-in-russian-city-of-lipetsk-after-reported-ukrainian-attack/",
       "status": "not_verified"
      }
     ]
    }
   ]
  },
  {
   "date": "2026-10-28",
   "areas": [
    {
     "area": "Occupied Donetsk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-28T00:30:01Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "TASS",
       "summary": "TASS citing the DPR (occupation) office documenting 'Ukrainian war crimes': 13 UA attacks on DPR settlements in the past day; 2 civilians killed, 4 injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://tass.com/politics/2209177",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kyiv (EST)",
     "items": [
      {
       "ts": "2026-10-28T01:04:43Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "KyivPost",
       "summary": "Kyiv Post: Zelensky urged Washington to authorize Patriot and NASAMS missile deliveries delayed for nearly a month, saying interceptor shortages leave civilians vulnerable to RU ballistic attacks. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.kyivpost.com/post/88364",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sumy / Chernihiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-28T01:27:17Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "kpszsu",
       "summary": "UA Air Force evening/overnight tracking 27–28 Oct: ballistic-missile threat from Bryansk (22:46Z); jet-powered UAVs over Chernihiv obl. past Horodnia heading SW; strike UAVs on Lebedyn and Okhtyrka (Sumy obl.). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/kpszsu/90944",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ukraine (national; pin Kyiv, EST)",
     "items": [
      {
       "ts": "2026-10-28T06:31:17Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "GeneralStaffZSU",
       "summary": "UA AF via General Staff: overnight 27–28 Oct RU launched an Iskander-M/S-400 ballistic missile from Taganrog and 88 strike UAVs (Shahed incl. 38 jet-powered, Gerbera, decoys) from Orel, Kursk and Hvardiiske (Crimea); 71 downed/suppressed; hits at 8 locations, debris at 2. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42719",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Pavlohrad, Dnipropetrovsk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-28T07:41:53Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Dnipropetrovsk OVA: RU drone strike on Pavlohrad, fire; a 15-year-old boy hospitalised with shrapnel wounds; garages damaged. Overnight >10 attacks on four districts (Dnipro, Synelnykove, Nikopol, Kamianske). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dnipropetrovskaODA/32870",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Novomoskovsk Azot plant, Tula obl. (EST)",
     "items": [
      {
       "ts": "2026-10-28T08:33:31Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "meduza_en",
       "summary": "Meduza / Kyiv Post: Ukrainian drones struck Tula region overnight 27–28 Oct; Governor Milyaev says debris damaged homes and 'infrastructure in the surrounding industrial zone' in Novomoskovsk; UA monitoring channels say the Azot chemical plant was hit and a fire is still burning. Fire also reported at NLMK steel plant, Lipetsk (governor: 45 drones downed over region). RF MoD: 531 UAVs intercepted overnight over 13 regions. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://meduza.io/en/news/2026/10/28/ukrainian-drones-strike-russia-s-tula-region-reportedly-sparking-fire-at-chemical-plant",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Rzhava, Kursk obl., Russia (EST)",
     "items": [
      {
       "ts": "2026-10-28T10:56:10Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: on 27 Oct and overnight 28 Oct Ukrainian forces struck a Tor-2M SAM near Rzhava (Kursk obl.), a radar near Male Horodkove (Kursk obl.), an EW station near Semiachky (Bryansk obl.), and a materiel depot near Valerianivka (occupied Donetsk obl.). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42721",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Osnovianskyi district, Kharkiv (EST)",
     "items": [
      {
       "ts": "2026-10-28T11:23:42Z",
       "side": "Russia",
       "type": "strike",
       "handle": "synegubov",
       "summary": "Kharkiv OVA Synehubov: a RU drone strike on Kharkiv's Osnovianskyi district on 28 Oct (daytime) started a fire; a 60-year-old man was killed and at least 4 injured. Separate from the 27 Oct evening strike on the same district. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/synegubov/27165",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Lgov, Kursk obl., Russia (EST)",
     "items": [
      {
       "ts": "2026-10-28T11:38:36Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "kurskadm",
       "summary": "Kursk governor Khinshtein: a UA drone hit a fuel station and shop in Lgov; three injured. Also an FPV attack near Kekino (Glushkovo district), one injured (per Dva Majors relay). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/kurskadm/112239",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Izium, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-28T12:41:01Z",
       "side": "Russia",
       "type": "strike",
       "handle": "boris_rozhin",
       "summary": "Rozhin reposting @Sinkovka_Kupyansk: claims a 27 Oct Tornado-S MLRS strike on a private house in Izium killed the commander of the UA 125th brigade; two houses destroyed, power lines damaged. DnevnikDesantnika separately claims daily strikes on Izium incl. a hotel. No UA confirmation found. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/boris_rozhin/231295",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Off Cape Kaliakra, Bulgaria (Black Sea, EST)",
     "items": [
      {
       "ts": "2026-10-28T12:43:12Z",
       "side": "Unknown",
       "type": "civilian_vessel",
       "handle": "rybar",
       "summary": "Rybar: Liberian-flagged container ship CONTSHIP JET reportedly hit by naval drones off Cape Kaliakra while sailing toward Constanța; preliminary reports say the whole crew is safe (per Rybar). Attacker not identified. Not independently confirmed here. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/rybar/84227",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Klintsy station, Bryansk obl., Russia (EST)",
     "items": [
      {
       "ts": "2026-10-28T13:25:44Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "dva_majors",
       "summary": "Bryansk governor (via Dva Majors): a Ukrainian drone hit a passenger rail bus (Unecha–Novozybkov) at Klintsy station; driver cab damaged, no injuries. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dva_majors/101161",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Lutsk / Kovel (Volyn) + Kharkiv (multi-target, pin Lutsk EST)",
     "items": [
      {
       "ts": "2026-10-28T15:02:01Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: daytime drone strikes hit a logistics centre in Kharkiv, PS-330 'Lutsk-Severnaya' substation in Lutsk and a PS-330 substation in Kovel, plus a dry-cargo ship heading to Chornomorsk. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68608",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Voskresenka / Barvinivka, Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-28T17:30:21Z",
       "side": "Russia",
       "type": "strike",
       "handle": "voin_dv",
       "summary": "Voin DV: 5th Gds Tank Bde UAV operators disrupted UA rotation in Voskresenka and Barvinivka. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/voin_dv/21800",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "North of Dobropillia (EST)",
     "items": [
      {
       "ts": "2026-10-28T17:53:15Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: Grad MLRS crews of the 61st Naval Infantry Brigade (Center GoF) destroyed three UA UAV control points north of Dobropillia. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68611",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Belgorod / Bryansk / Kursk / Oryol / Voronezh / Ryazan / Tula obl. (summary pin Kursk, EST)",
     "items": [
      {
       "ts": "2026-10-28T17:59:28Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: 90 Ukrainian UAVs intercepted 08:00–20:00 MSK over seven Russian regions. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68612",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Dnipro (EST)",
     "items": [
      {
       "ts": "2026-10-28T18:59:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform: Russian strike sparked a fire at a factory in Dnipro; Interfax-UA reports one man injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4179154-russian-strike-sparks-fire-at-factory-in-dnipro.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sarny district, Rivne obl. (EST)",
     "items": [
      {
       "ts": "2026-10-28T19:05:02Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "ukrinform_news",
       "summary": "Rivne OVA via Ukrinform: Russian attack hit a civilian enterprise in Sarny district; one man killed. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ukrinform_news/172262",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Chernihiv (EST)",
     "items": [
      {
       "ts": "2026-10-28T20:33:01Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Ukrinform citing National Police: a Russian 'Bandrol' missile-drone hit a veterinary centre in Chernihiv around 16:00 on 28 Oct, injuring three women and killing a dog. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.ukrinform.net/rubric-ato/4179173-russian-strike-damages-veterinary-center-in-chernihiv-killing-dog-and-injuring-three-women.html",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Moscow / Moscow Oblast (EST)",
     "items": [
      {
       "ts": "2026-10-28T22:34:12Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "KyivIndependent",
       "summary": "Kyiv Independent: Sobyanin reported 121 drones shot down approaching Moscow overnight 28–29 Oct; flights restricted at Vnukovo, Domodedovo, Zhukovsky; Astra reported explosions near Naro-Fominsk. No damage reported by officials. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://kyivindependent.com/moscow-comes-under-drone-fire-overnight-grounding-flights-at-major-airports/",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zarichne (Zaporizhzhia obl.) + Kolodiazne (Kharkiv obl.) — pin Zarichne EST",
     "items": [
      {
       "ts": "2026-10-28T23:03:01Z",
       "side": "Russia",
       "type": "strike",
       "handle": "boris_rozhin",
       "summary": "RU milblogger (Rozhin): VKS hit a UA '3 отмбр' (3rd separate tank brigade) UAV launch point near Kolodiazne (Kharkiv obl.) with four FAB-500s and a 128th brigade deployment point near Zarichne (Zaporizhzhia obl.) with one FAB-3000. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/boris_rozhin/231350",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kramatorsk (Donetsk obl., EST)",
     "items": [
      {
       "ts": "2026-10-28T23:56:51Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "KyivIndependent",
       "summary": "Kyiv Independent citing Animal Rescue Kharkiv: Canadian volunteer Jesse Adams was killed by a Russian FPV drone that hit an animal-evacuation vehicle in Kramatorsk on 25 Oct (reported 27 Oct). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://kyivindependent.com/canadian-volunteer-killed-by-russian-drone-while-rescuing-animals-in-donetsk-oblast/",
       "status": "not_verified"
      }
     ]
    }
   ]
  },
  {
   "date": "2026-10-29",
   "areas": [
    {
     "area": "Kremenchuk, Poltava obl. (EST)",
     "items": [
      {
       "ts": "2026-10-29T10:22:14Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Suspilne",
       "summary": "Russian drone hit an apartment block in Kremenchuk; Poltava OVA reports two killed incl. a six-year-old and later 11 injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/78410",
       "status": "official_statement"
      },
      {
       "ts": "2026-10-29T15:34:44Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ukrinform_news",
       "summary": "Ukrinform: toll of the 29 Oct Russian attack on Kremenchuk rose to three killed and 28 injured; apartment blocks, houses and a boarding school damaged. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ukrinform_news/172305",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Black Sea ~21 nm SE of Shabla, Bulgaria (EST)",
     "items": [
      {
       "ts": "2026-10-29T00:45:00Z",
       "side": "Other",
       "type": "civilian_vessel",
       "handle": "criticalthreats.org (ISW/CTP)",
       "summary": "ISW/CTP citing Bulgarian Defence Minister Stoyanov: three unmanned surface vehicles struck the Liberian-flagged container ship Constship Jet (Haifa→Constanta) about '21 miles' SE of Shabla on 28 Oct; crew included four Ukrainians. Attacker not officially identified. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-28-2026#constship-jet",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kholodnohirskyi district, Kharkiv (EST)",
     "items": [
      {
       "ts": "2026-10-29T01:18:44Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Suspilne citing mayor Terekhov: Russian strike on Kharkiv's Kholodnohirskyi district caused a fire (night 28–29 Oct). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/78390",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia city, southern suburbs (EST)",
     "items": [
      {
       "ts": "2026-10-29T01:43:24Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "AMK_Mapping_",
       "summary": "OSINT account AMK Mapping: Zaporizhzhia City under Russian glide-bomb (KAB) attack, at least four impacts in southern suburbs; UA Air Force channel reported KAB launches toward Zaporizhzhia. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://x.com/AMK_Mapping_/status/2115620483060404472",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Approaches to Odesa port (approx)",
     "items": [
      {
       "ts": "2026-10-29T05:14:57Z",
       "side": "Russia",
       "type": "naval",
       "handle": "mod_russia",
       "summary": "RF MoD: overnight drone strikes on Ukrainian port infrastructure; claims a dry-cargo ship carrying military/dual-use cargo to Odesa was hit at sea. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68618",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Russia-wide (pin Moscow region EST)",
     "items": [
      {
       "ts": "2026-10-29T06:23:22Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: 1,214 Ukrainian fixed-wing drones intercepted overnight over 19 regions incl. Moscow region (Sobyanin: 613 drones over Moscow region per Readovka). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68619",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Ukraine-wide (pin Kyiv EST)",
     "items": [
      {
       "ts": "2026-10-29T06:40:47Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff / Air Force: overnight 29 Oct Russia launched 112 strike drones (40 jet-powered) from Orel, Millerovo and occupied Donetsk; 97 shot down/suppressed, hits at 7 locations. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42726",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Navlia area, Bryansk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-29T10:09:07Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: Defence Forces struck a Geran drone storage depot, a drone port and a fuel depot near Navlia (Bryansk obl.) on 28 Oct and overnight; also radars near Starodub and Medvedove, UAV control points near Savlukove and Vitovka, and a command-observation post near Novohrodivka (Donetsk). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42729",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Black Sea ~17 nm off Cape Kaliakra, Bulgaria EEZ (approx)",
     "items": [
      {
       "ts": "2026-10-29T11:01:39Z",
       "side": "Russia",
       "type": "civilian_vessel",
       "handle": "dva_majors",
       "summary": "Russian milbloggers (Two Majors; Rozhin citing @voenacher): Liberian-flagged container ship CONTSHIP JET, attacked by uncrewed surface vessels on 28 Oct en route Haifa–Constanta, sank later that night; Bulgarian side reportedly said the USVs \"came from the east\". Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dva_majors/101215",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Chernihiv city centre (EST)",
     "items": [
      {
       "ts": "2026-10-29T11:39:02Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Ukrinform",
       "summary": "Russian strike on central Chernihiv: two 15-year-old girls killed and at least 15 injured incl. three children (Ukrinform; Suspilne later says 23 injured per RBC-Ukraine). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ukrinform_news/172290",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Dnipro main railway station (EST)",
     "items": [
      {
       "ts": "2026-10-29T11:43:05Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Russian jet-powered drone hit a platform at Dnipro railway station where train No. 866 Dnipro–Zaporizhzhia and a commuter train stood; Dnipropetrovsk OVA reports 14 killed and 14 injured. Reuters, BBC, DW and Kyiv Independent also report it (13–14 dead). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dnipropetrovskaODA/32912",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Lozova, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-29T12:39:03Z",
       "side": "Russia",
       "type": "strike",
       "handle": "RBC-Ukraine",
       "summary": "Kharkiv OVA: Russian missile strike on Lozova injured six men. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/RBC_ua_news/210297",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Zaporizhzhia city (EST)",
     "items": [
      {
       "ts": "2026-10-29T12:50:58Z",
       "side": "Russia",
       "type": "strike",
       "handle": "zoda_gov_ua",
       "summary": "Zaporizhzhia OVA: repeated Russian FPV-drone attacks on city transport (municipal bus, minibus, trolleybus) on 29 Oct; several injured, one woman seriously. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/zoda_gov_ua/68708",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Izium, Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-29T13:25:08Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Suspilne",
       "summary": "Russian KAB hit a five-storey building in Izium; at least five injured, people may be under rubble (Kharkiv OVA Syniehubov). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/78425",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Belgorod obl. (EST)",
     "items": [
      {
       "ts": "2026-10-29T13:36:00Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "TASS",
       "summary": "Belgorod operational HQ via TASS: one killed and one injured by Ukrainian drone attacks in Belgorod oblast. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/403004",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Sea approaches to Odesa (EST)",
     "items": [
      {
       "ts": "2026-10-29T15:05:50Z",
       "side": "Russia",
       "type": "naval",
       "handle": "mod_russia",
       "summary": "RF MoD: daytime 29 Oct drone strikes on Ukrainian port infrastructure; claims a dry-cargo ship carrying military/dual-use cargo to Odesa was hit at sea. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68628",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Voskresenka / Barvinivka, Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-29T17:30:16Z",
       "side": "Russia",
       "type": "strike",
       "handle": "voin_dv",
       "summary": "Voin DV (Vostok): 5th Gds Tank Bde (36th Army) drone operators struck UA billets and UAV control points in Voskresenka and Barvinivka. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/voin_dv/21816",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Studenok crossing, Izium dist., Kharkiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-29T17:40:41Z",
       "side": "Russia",
       "type": "strike",
       "handle": "boris_rozhin",
       "summary": "RU milblogger Rozhin (citing @the_wrong_side): VKS hit a UA 5th separate mech. bde UAV launch point in Yastrubyne with four FAB-500s and an earthen crossing near Studenok with a FAB-3000. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/boris_rozhin/231433",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Belgorod / Bryansk / Kursk / Oryol obl. + Perm krai (EST)",
     "items": [
      {
       "ts": "2026-10-29T17:49:35Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: 40 Ukrainian drones intercepted 08:00–20:00 MSK 29 Oct over Belgorod, Bryansk, Kursk, Oryol oblasts and Perm krai. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68633",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Marinovka airfield, Volgograd obl., RU (EST)",
     "items": [
      {
       "ts": "2026-10-29T18:00:37Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: Neptune coastal missiles of the UA Navy struck Marinovka airfield (Volgograd obl.) on 29 Oct; claims two Su-34 destroyed. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42730",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Tavriiske, Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-29T19:30:10Z",
       "side": "Russia",
       "type": "strike",
       "handle": "voin_dv",
       "summary": "Voin DV (Vostok): continued fire on UA troop concentrations in Tavriiske (Zaporizhzhia dir.). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/voin_dv/21817",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Bilenke, Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-29T19:31:38Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ukrinform_news",
       "summary": "Ukrinform: a Russian FPV drone hit a Proliska humanitarian-mission social bus in Bilenke (Zaporizhzhia obl.) around 14:30 local; one woman killed, three injured. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/ukrinform_news/172317",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Moscow approaches (EST)",
     "items": [
      {
       "ts": "2026-10-29T20:14:48Z",
       "side": "Ukraine",
       "type": "air_defense",
       "handle": "interfaxonline",
       "summary": "Interfax citing Sobyanin: number of drones shot down approaching Moscow on 29 Oct rose to 194; Vnukovo, Domodedovo, Sheremetyevo and Zhukovsky airports temporarily closed (Rosaviatsia). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/interfaxonline/80907",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kyiv (Darnytskyi / Dniprovskyi districts) (EST)",
     "items": [
      {
       "ts": "2026-10-29T21:18:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Reuters (via Investing.com)",
       "summary": "Reuters: Russian ballistic missile attack on Kyiv just before 23:00 local, 29 Oct, killed one person; warehouses ablaze on the east bank, missile debris damaged a residential building (Klitschko). Ukrainian monitors cite ~5–8 missiles. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.investing.com/news/world-news/ukrainian-capital-kyiv-under-attack-from-russian-ballistic-missiles-mayor-says-4985336",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Zaporizhzhia NPP, Enerhodar (EST)",
     "items": [
      {
       "ts": "2026-10-29T21:41:00Z",
       "side": "Other",
       "type": "strike",
       "handle": "tass_agency",
       "summary": "TASS: IAEA says it received information that a Zaporizhzhia NPP employee was killed by a drone strike (attribution not stated). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/tass_agency/403062",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Dnipro, Dnipropetrovsk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-29T22:01:04Z",
       "side": "Russia",
       "type": "strike",
       "handle": "dnipropetrovskaODA",
       "summary": "Dnipropetrovsk OVA: another evening Russian attack on Dnipro left over 350,000 subscribers in the city and nearby settlements without power; water pumping stations on generators. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/dnipropetrovskaODA/32947",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Tavriiske / Vasynivka, Zaporizhzhia obl. (EST)",
     "items": [
      {
       "ts": "2026-10-29T22:11:01Z",
       "side": "Russia",
       "type": "strike",
       "handle": "boris_rozhin",
       "summary": "Voin DV via Rozhin: 35th Gds CAA (Vostok) UAV crews claim UA drone launchers destroyed near Tavriiske and Vasynivka (Zaporizhzhia dir.). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/boris_rozhin/231453",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Sterlitamak petrochemical plant, Bashkortostan, RU (EST)",
     "items": [
      {
       "ts": "2026-10-29T23:17:37Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeoConfirmed",
       "summary": "GeoConfirmed (geolocated by @Magyargeo56): POV of smoke rising toward the Sterlitamak petrochemical plant after a Ukrainian drone attack on 29 Oct. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://x.com/GeoConfirmed/status/2115946183986205081",
       "status": "not_verified"
      }
     ]
    }
   ]
  },
  {
   "date": "2026-10-30",
   "areas": [
    {
     "area": "Ukraine-wide (plotted Dnipro) (EST)",
     "items": [
      {
       "ts": "2026-10-30T00:30:00Z",
       "side": "Russia",
       "type": "strike",
       "handle": "ISW / CTP (criticalthreats.org mirror)",
       "summary": "ISW Oct 29: RU daytime long-range drone and loitering-munition strikes killed at least 19 and injured at least 82 across Ukraine on 29 Oct. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-29-2026",
       "status": "corroborated"
      }
     ]
    },
    {
     "area": "Kremenchuk district, Poltava obl. (EST)",
     "items": [
      {
       "ts": "2026-10-30T01:36:43Z",
       "side": "Russia",
       "type": "strike",
       "handle": "suspilnenews",
       "summary": "Suspilne citing Poltava OVA: Russia attacked an industrial enterprise in Kremenchuk district overnight into 30 Oct (ballistic missiles reported en route by UA Air Force). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/suspilnenews/78475",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Novokuibyshevsk refinery, Samara obl., Russia (EST)",
     "items": [
      {
       "ts": "2026-10-30T06:01:38Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "Kyiv Independent",
       "summary": "Kyiv Independent: fire reported at Novokuibyshevsk refinery after suspected UA drone attack overnight 30 Oct, called a resumption of refinery strikes after a mid-October pause; RU deputy PM Novak said 3 refineries were attacked. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://kyivindependent.com/russian-oil-refinery-reportedly-attacked-amid-renewed-ukrainian-strikes-on-energy-infrastructure/",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Kyiv / Khotiv, Kyiv obl. (EST)",
     "items": [
      {
       "ts": "2026-10-30T06:33:08Z",
       "side": "Russia",
       "type": "strike",
       "handle": "mod_russia",
       "summary": "RF MoD: overnight massed strike hit Kyiv Radio Plant/Trimen-Ukraine and the Fanplit UAV assembly site (FP-1/FP-2), PS-330 Novokyivska substation in Khotiv, PS-330 Svitle substation (Dnipropetrovsk obl.) and a dry-cargo ship bound for Odesa. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68642",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Western Russia (EST — plotted Moscow region)",
     "items": [
      {
       "ts": "2026-10-30T06:49:44Z",
       "side": "Russia",
       "type": "air_defense",
       "handle": "mod_russia",
       "summary": "RF MoD: air defences intercepted 1043 Ukrainian fixed-wing drones overnight over Belgorod, Bryansk, Voronezh and other regions; Moscow mayor reported 800+ drones toward the capital (per Meduza). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/mod_russia/68643",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Kremenchuk refinery / TPP, Poltava obl. (EST)",
     "items": [
      {
       "ts": "2026-10-30T08:04:47Z",
       "side": "Russia",
       "type": "strike",
       "handle": "voenkorKotenok",
       "summary": "Voenkor Kotenok (RU): at least 10 missiles hit the Kremenchuk refinery and thermal power plant overnight; strikes also reported on Kharkiv and Mena (Chernihiv obl.). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/voenkorKotenok/77127",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Bilozerske area, Donetsk obl. (EST)",
     "items": [
      {
       "ts": "2026-10-30T09:56:05Z",
       "side": "Russia",
       "type": "strike",
       "handle": "grvZapad",
       "summary": "GrV Zapad-affiliated channel claims VKS struck a temporary deployment point of the UA 15th NGU brigade near Bilozerske with four FAB-500 (Lyman direction label in source). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/grvZapad/20233",
       "status": "not_verified"
      }
     ]
    },
    {
     "area": "Fatezh area, Kursk obl., Russia (EST)",
     "items": [
      {
       "ts": "2026-10-30T10:11:01Z",
       "side": "Ukraine",
       "type": "strike",
       "handle": "GeneralStaffZSU",
       "summary": "UA General Staff: Defence Forces hit an Iskander-M launcher near Fatezh (Kursk obl.) plus ammo depots near Maloianysol (Donetsk), Novoiehorivka (Kharkiv), Hanusivka (Luhansk), and logistics/repair sites near Bilovodsk, Rubizhne, Pysarivka (Luhansk). Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://t.me/GeneralStaffZSU/42736",
       "status": "official_statement"
      }
     ]
    },
    {
     "area": "Shostka community, Sumy obl. (EST)",
     "items": [
      {
       "ts": "2026-10-30T13:08:51Z",
       "side": "Russia",
       "type": "strike",
       "handle": "Kyiv Independent",
       "summary": "Kyiv Independent citing Governor Hryhorov: Russian drone strike on a civilian enterprise in Shostka community killed a 43-year-old woman and injured 8. Unverified / EST — INFO/SA only. Not for targeting.",
       "url": "https://kyivindependent.com/russian-strike-on-sumy-oblast-kills-1-injures-8-people/",
       "status": "official_statement"
      }
     ]
    }
   ]
  }
 ],
 "diplomacy": [
  {
   "ts": "2026-10-24T16:58:42Z",
   "side": "Russia",
   "type": "movement",
   "handle": "Oleg Tsarev (via glasnarod.ru)",
   "summary": "Oleg Tsarev evening frontline summary 24 Oct (pro-RU): claims advances near Lukianivske, Omelnyk, Rai-Oleksandrivka, Kryva Luka, Stavky, toward Masliakivka, near Muravka/Novopidhorodne/Mezhova, Vesele Pole consolidated; clearing N Dobropillia and Oleksiievo-Druzhkivka; fights at Liubytske, Barvinivka, Voskresenka, N Orikhiv, Kupiansk; UA counterattacks at Novodanylivka and Mala Tokmachka; Oleshky ceasefire 27 Oct. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://glasnarod.ru/specoperaciya/frontovaya-svodka-olega-carjova-na-vecher-24-oktyabrya-2/",
   "status": "not_verified"
  },
  {
   "ts": "2026-10-24T23:00:00Z",
   "side": "Other",
   "type": "other",
   "handle": "ISW / CTP",
   "summary": "ISW Oct 24: Ukraine agreed to observe a limited ceasefire in occupied Oleshky from 27 Oct (Russian side announced 04:00 MSK 27 Oct for a humanitarian operation); geographic extent and terms unclear. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-24-2026-6add1dd5587c2",
   "status": "corroborated"
  },
  {
   "ts": "2026-10-25T07:08:15Z",
   "side": "Russia",
   "type": "other",
   "handle": "rybar",
   "summary": "Rybar weekly overview 25 Oct (pro-RU): Witkoff talks in St Petersburg 21 Oct, Omsk refinery strike, Starlink outage, Oleshky humanitarian deal; front: heavy fighting at Yampil, Stavky, Drobysheve, Dibrova, urban fighting in Kupiansk, Druzhkivka direction, activity near Orikhiv. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://t.me/rybar/84159",
   "status": "not_verified"
  },
  {
   "ts": "2026-10-25T13:02:01Z",
   "side": "Other",
   "type": "other",
   "handle": "SALDO_VGA",
   "summary": "Occupation head Saldo: Kalanchak municipal deputy Serhii Glukhenko (56) killed by a PFM 'Lepestok' mine near Khorly. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://t.me/SALDO_VGA/18032",
   "status": "not_verified"
  },
  {
   "ts": "2026-10-25T20:17:32Z",
   "side": "Ukraine",
   "type": "other",
   "handle": "suspilnenews",
   "summary": "UA General Staff (via Suspilne): Ukraine introduces a ceasefire regime in occupied Oleshky from 03:00 Kyiv time on 27 October to support the humanitarian/evacuation mission; Kherson ODA post (quoting the President): the US side proposed a quiet regime around Oleshky from 27 Oct lasting several days; humanitarian missions to enter; Russians must demine roads. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://t.me/suspilnenews/78203",
   "status": "official_statement"
  },
  {
   "ts": "2026-10-26T10:40:43Z",
   "side": "Russia",
   "type": "other",
   "handle": "mod_russia",
   "summary": "RF MoD: Dnepr GoF engineers daily clear access roads to Oleshky of drone-laid mines; claims 18 artillery and 120+ drone strikes on the town and roads since 19 Oct, 300+ explosive items cleared. Peskov: Oleshky ceasefire could become a precedent for other humanitarian pauses, but resumed trilateral talks do not limit combat operations. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://t.me/mod_russia/68556",
   "status": "official_statement"
  },
  {
   "ts": "2026-10-26T19:00:50Z",
   "side": "Ukraine",
   "type": "other",
   "handle": "GeneralStaffZSU",
   "summary": "UA General Staff: from 03:00 Kyiv time on 27 Oct Ukraine introduces a ceasefire in a defined area around occupied Oleshky for a humanitarian operation (aid delivery and preparing free movement of civilians out). Ukrinform: Melania Trump said the local ceasefire was agreed. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://t.me/GeneralStaffZSU/42695",
   "status": "official_statement"
  },
  {
   "ts": "2026-10-27T01:00:26Z",
   "side": "Russia",
   "type": "other",
   "handle": "mod_russia",
   "summary": "RF MoD: Russian forces ceased fire on the Kherson direction and introduced a 'silence regime' from 04:00 Moscow time on 27 Oct to prepare a humanitarian operation around Oleshky. TASS: RU ombudsman Lantratova and UA ombudsman Lubinets say both sides' ceasefires start at the same moment (03:00 Kyiv = 04:00 Moscow). Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://t.me/mod_russia/68570",
   "status": "official_statement"
  },
  {
   "ts": "2026-10-27T11:58:52Z",
   "side": "Other",
   "type": "other",
   "handle": "Tsaplienko",
   "summary": "Oleshky humanitarian mission began (Budanov via Ukrinform); Arakhamia says the Kherson-direction ceasefire lasts until 22:59 local on Sunday 1 Nov, 'the largest de-escalation since 2022'; UA marines spokesman Drohal: as of 09:00 RU observes the silence regime; no violations reported by either side. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://t.me/Tsaplienko/101092",
   "status": "corroborated"
  },
  {
   "ts": "2026-10-27T13:00:00Z",
   "side": "Other",
   "type": "other",
   "handle": "President of Finland",
   "summary": "Finnish President Stubb and Norwegian PM Støre held a ~90-minute phone call with Putin; Reuters (via NBC/Tsaplienko) reports Putin told them he will not give up plans to take all of Donbas. Danish PM Frederiksen criticised the call; Peskov says no date set for Abu Dhabi talks. Zelensky held a call with Stubb/Støre and mentioned a trilateral meeting in November. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://www.presidentti.fi/en/president-stubb-and-prime-minister-store-held-a-phone-call-with-president-putin/",
   "status": "official_statement"
  },
  {
   "ts": "2026-10-27T20:27:47Z",
   "side": "Other",
   "type": "other",
   "handle": "meduza_en",
   "summary": "Meduza / Kyiv Post citing NYT: the Trump administration is weighing lifting sanctions on the Russian Direct Investment Fund (RDIF). Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://meduza.io/en/news/2026/10/27/trump-weighs-lifting-sanctions-on-russian-fund-once-described-by-u-s-treasury-as-putin-s-slush-fund-nyt-reports",
   "status": "not_verified"
  },
  {
   "ts": "2026-10-27T22:00:00Z",
   "side": "Other",
   "type": "other",
   "handle": "BBC News",
   "summary": "BBC / Interfax-UA: Melania Trump says the Oleshky ceasefire area has been expanded beyond Oleshky within Kherson region to give humanitarian convoys safe passage; Kherson deputy head Tolokonnikov says RU shelling stopped in Kherson city and wider region; no breaches reported; evacuations planned for Friday; ~1,700–2,000 people remain in Oleshky. Time approximate. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://www.bbc.com/news/articles/c6lye1w9p2l8o",
   "status": "corroborated"
  },
  {
   "ts": "2026-10-28T01:00:00Z",
   "side": "Other",
   "type": "other",
   "handle": "criticalthreats.org (ISW/CTP)",
   "summary": "ISW/CTP Oct 27 assessment: neither side advanced on 27 Oct; Oleshky limited ceasefire observed by both sides; RU 26th Tank Regt (47th TD, 1st GTA) reportedly disbanding platoons to form a UAS company (Kupiansk dir.); RU infiltration missions assessed at Chuhunivka and Kupiansk-Vuzlovyi (latter footage likely Aug 2026); milblogger claims of advances in W Oleksiievo-Druzhkivka and N of Serhiivka unconfirmed; UA counterattacks SE of Oleksandrivka / toward Velyka Novosilka. Publication time approximate (accessed via criticalthreats.org mirror). Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-27-2026-6ae13feb115c7",
   "status": "not_verified"
  },
  {
   "ts": "2026-10-28T09:05:08Z",
   "side": "Other",
   "type": "other",
   "handle": "KyivIndependent",
   "summary": "Kyiv Independent / UP / TASS / France24: the Oleshky local ceasefire (extended to Kherson city) has held for ~30 hours with no violations reported by either side's ombudsman; Kherson OVA says it is monitoring the truce. RU milblogger DnevnikDesantnika alleges UA rotations and vehicle/boat build-up in the truce zone. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://kyivindependent.com/ceasefire-in-oleshky-enters-30th-hour-as-russian-strikes-kill-2-injure-17-elsewhere-in-ukraine-over-past-day/",
   "status": "corroborated"
  },
  {
   "ts": "2026-10-28T13:30:21Z",
   "side": "Ukraine",
   "type": "other",
   "handle": "V_Zelenskiy_official",
   "summary": "Zelensky: UK announced additional £10bn support (£7bn economic over three years, £3bn export support mainly for weapons). Separately Zelensky said UA–RU–US talks could take place as early as 10 Nov (via Tsaplienko) and he is in the Netherlands on defence/air-defence cooperation. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://t.me/V_Zelenskiy_official/21552",
   "status": "official_statement"
  },
  {
   "ts": "2026-10-29T00:45:00Z",
   "side": "Other",
   "type": "movement",
   "handle": "criticalthreats.org (ISW/CTP)",
   "summary": "ISW/CTP Oct 28 assessment: Ukrainian forces recently advanced SE of Oleksandrivka (Novomykolaivka, per Mashovets) and NE of Hulyaipole (Pavlivka/Uspenivka); Russian forces recently advanced north of Kostiantynivka (entered Klynove); RU infiltrations assessed S of Mala Vovcha and E of Zelena Dolyna; Oleshky limited ceasefire holding; no confirmed advances in Dobropillia, Sumy, Velykyi Burluk, Sloviansk/Kramatorsk or W Zaporizhzhia. Publication time = 'assessment as of 8:45 PM ET' (accessed via criticalthreats.org mirror). Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-28-2026",
   "status": "not_verified"
  },
  {
   "ts": "2026-10-29T07:08:52Z",
   "side": "Russia",
   "type": "other",
   "handle": "wargonzo",
   "summary": "RU ombudsman Lantratova flew toward Oleshky with foreign incl. US journalists for the humanitarian mission; RF MoD Dnepr sappers clearing approach roads; local ceasefire (from 04:00 MSK 27 Oct to 22:59 1 Nov) reported holding by both RU sources and BBC. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://t.me/wargonzo/37974",
   "status": "not_verified"
  }
 ],
 "outlook": [
  {
   "kind": "contradiction",
   "text": "RF MoD video: troops of the 15th Gds Separate MRB and 1437th Assault MRR describe cutting supply routes and storming Serhiivka; claims defenders abandoned positions. UA GS same morning still lists RU attacks toward Serhiivka. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://t.me/mod_russia/68516",
   "handle": "mod_russia",
   "ts": "2026-10-25T06:18:36Z"
  },
  {
   "kind": "contradiction",
   "text": "RF MoD (via TASS, Telegram): Battlegroup North 'liberated' Alisivka (Derhachi area, Kharkiv obl.) and Barylivka (Sumy obl.). Milbloggers Kots/WarHunter name the 1431st MRR (Alisivka, vs UA 58th Mech Bde) and 41st MRR / 44th AC (Barylivka). Pin at Barylivka. UA 8th Air Assault Corps denies the Barylivka claim. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://tass.com/politics/2209379",
   "handle": "TASS",
   "ts": "2026-10-28T09:13:58Z"
  },
  {
   "kind": "contradiction",
   "text": "DnevnikDesantnika: fighters report clearing of remaining small UA groups in Dobropillia, city 'practically liberated'; no organised UA resistance recorded. Contradicted by UA GS (attacks toward Dobropillia repelled) and ISW Oct 27 (no confirmed advances). Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://t.me/DnevnikDesantnika/49307",
   "handle": "DnevnikDesantnika",
   "ts": "2026-10-28T11:33:25Z"
  },
  {
   "kind": "open",
   "text": "Tsaplienko citing BILD: UA soldiers say RU may be using the Oleshky truce to move troops and Grad MLRS (forest near Radensk, Kakhovka industrial zone) for a possible Kherson offensive after the truce ends 1 Nov; no independent confirmation. Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://t.me/Tsaplienko/101203",
   "handle": "Tsaplienko",
   "ts": "2026-10-29T22:33:52Z"
  },
  {
   "kind": "open",
   "text": "ISW/CTP Oct 27 assessment: neither side advanced on 27 Oct; Oleshky limited ceasefire observed by both sides; RU 26th Tank Regt (47th TD, 1st GTA) reportedly disbanding platoons to form a UAS company (Kupiansk dir.); RU infiltration missions assessed at Chuhunivka and Kupiansk-Vuzlovyi (latter footage likely Aug 2026); milblogger claims of advances in W Oleksiievo-Druzhkivka and N of Serhiivka unconfirmed; UA counterattacks SE of Oleksandrivka / toward Velyka Novosilka. Publication time approximate (accessed via criticalthreats.org mirror). Unverified / EST — INFO/SA only. Not for targeting.",
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-27-2026-6ae13feb115c7",
   "handle": "criticalthreats.org (ISW/CTP)",
   "ts": "2026-10-28T01:00: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-25-2026",
   "handle": "ISW / CTP",
   "n": 5
  },
  {
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-24-2026-6add1dd5587c2",
   "handle": "ISW / CTP",
   "n": 4
  },
  {
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-26-2026",
   "handle": "ISW / CTP",
   "n": 4
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42678",
   "handle": "GeneralStaffZSU",
   "n": 3
  },
  {
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-29-2026",
   "handle": "ISW / CTP (criticalthreats.org mirror)",
   "n": 2
  },
  {
   "url": "https://deepstatemap.live/en#14/47.5274889/36.0167880",
   "handle": "DeepStateMAP (cite-only)",
   "n": 1
  },
  {
   "url": "https://euromaidanpress.com/2026/10/27/russia-tries-to-drag-a-village-north-of-kupiansk-into-no-mans-land-after-its-losses-in-ukraines-underground-operation/",
   "handle": "Euromaidan Press",
   "n": 1
  },
  {
   "url": "https://euromaidanpress.com/2026/10/28/zherebets-river/",
   "handle": "EuromaidanPress",
   "n": 1
  },
  {
   "url": "https://glasnarod.ru/specoperaciya/frontovaya-svodka-olega-carjova-na-vecher-24-oktyabrya-2/",
   "handle": "Oleg Tsarev (via glasnarod.ru)",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/canadian-volunteer-killed-by-russian-drone-while-rescuing-animals-in-donetsk-oblast/",
   "handle": "KyivIndependent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/ceasefire-in-oleshky-enters-30th-hour-as-russian-strikes-kill-2-injure-17-elsewhere-in-ukraine-over-past-day/",
   "handle": "KyivIndependent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/ex-unmanned-systems-forces-commander-sukharevskyi-to-lead-ukraines-marines-media-reports/",
   "handle": "KyivIndependent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/fires-burn-in-russian-city-of-lipetsk-after-reported-ukrainian-attack/",
   "handle": "KyivIndependent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/moscow-comes-under-drone-fire-overnight-grounding-flights-at-major-airports/",
   "handle": "KyivIndependent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/russia-building-new-drone-launch-site-near-millerovo-airfield-in-rostov-oblast-hur-says/",
   "handle": "KyivIndependent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/russian-oil-refinery-reportedly-attacked-amid-renewed-ukrainian-strikes-on-energy-infrastructure/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/russian-strike-on-sumy-oblast-kills-1-injures-8-people/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/ukraine-reportedly-strikes-russian-ammunition-depot-in-occupied-luhansk-oblast/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://kyivindependent.com/ukraine-strikes-russian-titanium-plant-more-than-1-400-kilometers-from-border-monitoring-channel-claims/",
   "handle": "Kyiv Independent",
   "n": 1
  },
  {
   "url": "https://meduza.io/en/news/2026/10/27/trump-weighs-lifting-sanctions-on-russian-fund-once-described-by-u-s-treasury-as-putin-s-slush-fund-nyt-reports",
   "handle": "meduza_en",
   "n": 1
  },
  {
   "url": "https://meduza.io/en/news/2026/10/28/ukrainian-drones-strike-russia-s-tula-region-reportedly-sparking-fire-at-chemical-plant",
   "handle": "meduza_en",
   "n": 1
  },
  {
   "url": "https://profile.ru/news/politics/udary-po-obektam-infrastruktury-i-drugim-celyam-prodvizhenie-vs-rf-i-poteri-vsu-svodka-minoborony-za-29-oktyabrya-1917932/",
   "handle": "Profile.ru (RF MoD summary)",
   "n": 1
  },
  {
   "url": "https://ru.sputnik.kz/20261025/spetsoperatsiya-rossii-na-ukraine-svodka-minoborony-rf-za-25-oktyabrya--67950147.html",
   "handle": "Sputnik (RF MoD summary)",
   "n": 1
  },
  {
   "url": "https://suspilne.media/donbas/1416357-zvilnenna-teritorij-bila-limana-boi-za-kostantinivku-front-doneccini-i-lugansini-28-zovtna-2026-roku/",
   "handle": "suspilne_donbas",
   "n": 1
  },
  {
   "url": "https://suspilne.media/donbas/1437037-armia-rf-narosue-intensivnist-sturmiv-poblizu-dobropilla-oficer-pidrozdilu-feniks/",
   "handle": "Suspilne Donbas",
   "n": 1
  },
  {
   "url": "https://suspilne.media/donbas/1439259-uspih-u-nih-nulovij-rosijska-armia-prodovzue-pihotni-sturmi-na-slovanskomu-napramku-vijskovij-81-oaebr/",
   "handle": "Suspilne",
   "n": 1
  },
  {
   "url": "https://t.me/BalitskyEV/9195",
   "handle": "BalitskyEV",
   "n": 1
  },
  {
   "url": "https://t.me/BalitskyEV/9197",
   "handle": "BalitskyEV",
   "n": 1
  },
  {
   "url": "https://t.me/BalitskyEV/9206",
   "handle": "BalitskyEV",
   "n": 1
  },
  {
   "url": "https://t.me/DeepStateUA/23932",
   "handle": "DeepStateUA",
   "n": 1
  },
  {
   "url": "https://t.me/DeepStateUA/23933",
   "handle": "DeepStateUA",
   "n": 1
  },
  {
   "url": "https://t.me/DeepStateUA/23936",
   "handle": "DeepStateUA",
   "n": 1
  },
  {
   "url": "https://t.me/DeepStateUA/23937",
   "handle": "DeepStateUA",
   "n": 1
  },
  {
   "url": "https://t.me/DeepStateUA/23950",
   "handle": "DeepStateUA",
   "n": 1
  },
  {
   "url": "https://t.me/DnevnikDesantnika/49233",
   "handle": "DnevnikDesantnika",
   "n": 1
  },
  {
   "url": "https://t.me/DnevnikDesantnika/49243",
   "handle": "DnevnikDesantnika",
   "n": 1
  },
  {
   "url": "https://t.me/DnevnikDesantnika/49244",
   "handle": "DnevnikDesantnika",
   "n": 1
  },
  {
   "url": "https://t.me/DnevnikDesantnika/49260",
   "handle": "DnevnikDesantnika",
   "n": 1
  },
  {
   "url": "https://t.me/DnevnikDesantnika/49268",
   "handle": "DnevnikDesantnika",
   "n": 1
  },
  {
   "url": "https://t.me/DnevnikDesantnika/49280",
   "handle": "DnevnikDesantnika",
   "n": 1
  },
  {
   "url": "https://t.me/DnevnikDesantnika/49284",
   "handle": "DnevnikDesantnika",
   "n": 1
  },
  {
   "url": "https://t.me/DnevnikDesantnika/49307",
   "handle": "DnevnikDesantnika",
   "n": 1
  },
  {
   "url": "https://t.me/DnevnikDesantnika/49326",
   "handle": "DnevnikDesantnika",
   "n": 1
  },
  {
   "url": "https://t.me/DnevnikDesantnika/49363",
   "handle": "DnevnikDesantnika",
   "n": 1
  },
  {
   "url": "https://t.me/DnevnikDesantnika/49366",
   "handle": "DnevnikDesantnika",
   "n": 1
  },
  {
   "url": "https://t.me/DnevnikDesantnika/49385",
   "handle": "DnevnikDesantnika",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42675",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42679",
   "handle": "UA General Staff",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42680",
   "handle": "UA General Staff",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42683",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42685",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42686",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42687",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42689",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42690",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42692",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42694",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42695",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42696",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42698",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42700",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42703",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42716",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42718",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42719",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42721",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42723",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42725",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42726",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42729",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42730",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42731",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42733",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/GeneralStaffZSU/42736",
   "handle": "GeneralStaffZSU",
   "n": 1
  },
  {
   "url": "https://t.me/RBC_ua_news/210297",
   "handle": "RBC-Ukraine",
   "n": 1
  },
  {
   "url": "https://t.me/RVvoenkor/125728",
   "handle": "RVvoenkor",
   "n": 1
  },
  {
   "url": "https://t.me/SALDO_VGA/18001",
   "handle": "SALDO_VGA",
   "n": 1
  },
  {
   "url": "https://t.me/SALDO_VGA/18032",
   "handle": "SALDO_VGA",
   "n": 1
  },
  {
   "url": "https://t.me/SBUkr/18934",
   "handle": "SBUkr",
   "n": 1
  },
  {
   "url": "https://t.me/Suriyak_maps/13309",
   "handle": "Suriyak_maps",
   "n": 1
  },
  {
   "url": "https://t.me/Suriyak_maps/13321",
   "handle": "Suriyak_maps",
   "n": 1
  },
  {
   "url": "https://t.me/Tsaplienko/101047",
   "handle": "Tsaplienko",
   "n": 1
  },
  {
   "url": "https://t.me/Tsaplienko/101065",
   "handle": "Tsaplienko",
   "n": 1
  },
  {
   "url": "https://t.me/Tsaplienko/101092",
   "handle": "Tsaplienko",
   "n": 1
  },
  {
   "url": "https://t.me/Tsaplienko/101203",
   "handle": "Tsaplienko",
   "n": 1
  },
  {
   "url": "https://t.me/V_Zelenskiy_official/21520",
   "handle": "V_Zelenskiy_official",
   "n": 1
  },
  {
   "url": "https://t.me/V_Zelenskiy_official/21531",
   "handle": "V_Zelenskiy_official",
   "n": 1
  },
  {
   "url": "https://t.me/V_Zelenskiy_official/21532",
   "handle": "V_Zelenskiy_official",
   "n": 1
  },
  {
   "url": "https://t.me/V_Zelenskiy_official/21534",
   "handle": "V_Zelenskiy_official",
   "n": 1
  },
  {
   "url": "https://t.me/V_Zelenskiy_official/21547",
   "handle": "V_Zelenskiy_official",
   "n": 1
  },
  {
   "url": "https://t.me/V_Zelenskiy_official/21552",
   "handle": "V_Zelenskiy_official",
   "n": 1
  },
  {
   "url": "https://t.me/boris_rozhin/230965",
   "handle": "boris_rozhin",
   "n": 1
  },
  {
   "url": "https://t.me/boris_rozhin/230975",
   "handle": "boris_rozhin",
   "n": 1
  },
  {
   "url": "https://t.me/boris_rozhin/231008",
   "handle": "boris_rozhin",
   "n": 1
  },
  {
   "url": "https://t.me/boris_rozhin/231023",
   "handle": "boris_rozhin",
   "n": 1
  },
  {
   "url": "https://t.me/boris_rozhin/231240",
   "handle": "boris_rozhin",
   "n": 1
  },
  {
   "url": "https://t.me/boris_rozhin/231252",
   "handle": "boris_rozhin",
   "n": 1
  },
  {
   "url": "https://t.me/boris_rozhin/231292",
   "handle": "boris_rozhin",
   "n": 1
  },
  {
   "url": "https://t.me/boris_rozhin/231295",
   "handle": "boris_rozhin",
   "n": 1
  },
  {
   "url": "https://t.me/boris_rozhin/231332",
   "handle": "boris_rozhin",
   "n": 1
  },
  {
   "url": "https://t.me/boris_rozhin/231339",
   "handle": "boris_rozhin",
   "n": 1
  },
  {
   "url": "https://t.me/boris_rozhin/231350",
   "handle": "boris_rozhin",
   "n": 1
  },
  {
   "url": "https://t.me/boris_rozhin/231433",
   "handle": "boris_rozhin",
   "n": 1
  },
  {
   "url": "https://t.me/boris_rozhin/231453",
   "handle": "boris_rozhin",
   "n": 1
  },
  {
   "url": "https://t.me/creamy_caprice/13340",
   "handle": "creamy_caprice",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32831",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32845",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32870",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32912",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dnipropetrovskaODA/32947",
   "handle": "dnipropetrovskaODA",
   "n": 1
  },
  {
   "url": "https://t.me/dva_majors/101161",
   "handle": "dva_majors",
   "n": 1
  },
  {
   "url": "https://t.me/dva_majors/101215",
   "handle": "dva_majors",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20180",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20187",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20189",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20194",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20209",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20212",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20217",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20221",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20232",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20233",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/grvZapad/20234",
   "handle": "grvZapad",
   "n": 1
  },
  {
   "url": "https://t.me/interfaxonline/80627",
   "handle": "Interfax",
   "n": 1
  },
  {
   "url": "https://t.me/interfaxonline/80630",
   "handle": "Interfax",
   "n": 1
  },
  {
   "url": "https://t.me/interfaxonline/80632",
   "handle": "Interfax",
   "n": 1
  },
  {
   "url": "https://t.me/interfaxonline/80643",
   "handle": "Interfax",
   "n": 1
  },
  {
   "url": "https://t.me/interfaxonline/80656",
   "handle": "interfaxonline",
   "n": 1
  },
  {
   "url": "https://t.me/interfaxonline/80907",
   "handle": "interfaxonline",
   "n": 1
  },
  {
   "url": "https://t.me/kpszsu/89961",
   "handle": "UA Air Force",
   "n": 1
  },
  {
   "url": "https://t.me/kpszsu/90289",
   "handle": "kpszsu",
   "n": 1
  },
  {
   "url": "https://t.me/kpszsu/90539",
   "handle": "kpszsu",
   "n": 1
  },
  {
   "url": "https://t.me/kpszsu/90898",
   "handle": "kpszsu",
   "n": 1
  },
  {
   "url": "https://t.me/kpszsu/90944",
   "handle": "kpszsu",
   "n": 1
  },
  {
   "url": "https://t.me/kurskadm/112108",
   "handle": "kurskadm",
   "n": 1
  },
  {
   "url": "https://t.me/kurskadm/112189",
   "handle": "kurskadm",
   "n": 1
  },
  {
   "url": "https://t.me/kurskadm/112239",
   "handle": "kurskadm",
   "n": 1
  },
  {
   "url": "https://t.me/milinfolive/182203",
   "handle": "milinfolive",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68492",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68507",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68511",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68513",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68515",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68516",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68518",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68530",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68533",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68548",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68553",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68556",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68563",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68570",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68573",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68575",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68576",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68583",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68584",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68589",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68608",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68611",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68612",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68618",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68619",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68628",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68633",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68642",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/mod_russia/68643",
   "handle": "mod_russia",
   "n": 1
  },
  {
   "url": "https://t.me/readovkanews/116475",
   "handle": "readovkanews",
   "n": 1
  },
  {
   "url": "https://t.me/readovkanews/116585",
   "handle": "readovkanews",
   "n": 1
  },
  {
   "url": "https://t.me/rian_ru/348604",
   "handle": "rian_ru",
   "n": 1
  },
  {
   "url": "https://t.me/rybar/84159",
   "handle": "rybar",
   "n": 1
  },
  {
   "url": "https://t.me/rybar/84191",
   "handle": "rybar",
   "n": 1
  },
  {
   "url": "https://t.me/rybar/84198",
   "handle": "rybar",
   "n": 1
  },
  {
   "url": "https://t.me/rybar/84212",
   "handle": "rybar",
   "n": 1
  },
  {
   "url": "https://t.me/rybar/84227",
   "handle": "rybar",
   "n": 1
  },
  {
   "url": "https://t.me/rybar/84235",
   "handle": "rybar",
   "n": 1
  },
  {
   "url": "https://t.me/rybar/84255",
   "handle": "rybar",
   "n": 1
  },
  {
   "url": "https://t.me/rybar/84256",
   "handle": "rybar",
   "n": 1
  },
  {
   "url": "https://t.me/rybar/84262",
   "handle": "rybar",
   "n": 1
  },
  {
   "url": "https://t.me/severnnyi/9702",
   "handle": "severnnyi",
   "n": 1
  },
  {
   "url": "https://t.me/severnnyi/9715",
   "handle": "severnnyi",
   "n": 1
  },
  {
   "url": "https://t.me/severnnyi/9727",
   "handle": "severnnyi",
   "n": 1
  },
  {
   "url": "https://t.me/severnnyi/9738",
   "handle": "severnnyi",
   "n": 1
  },
  {
   "url": "https://t.me/severnnyi/9747",
   "handle": "severnnyi",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/78203",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/78205",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/78207",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/78238",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/78273",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/78390",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/78410",
   "handle": "Suspilne",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/78425",
   "handle": "Suspilne",
   "n": 1
  },
  {
   "url": "https://t.me/suspilnenews/78475",
   "handle": "suspilnenews",
   "n": 1
  },
  {
   "url": "https://t.me/synegubov/27001",
   "handle": "synegubov",
   "n": 1
  },
  {
   "url": "https://t.me/synegubov/27020",
   "handle": "synegubov",
   "n": 1
  },
  {
   "url": "https://t.me/synegubov/27089",
   "handle": "synegubov",
   "n": 1
  },
  {
   "url": "https://t.me/synegubov/27098",
   "handle": "synegubov",
   "n": 1
  },
  {
   "url": "https://t.me/synegubov/27099",
   "handle": "synegubov",
   "n": 1
  },
  {
   "url": "https://t.me/synegubov/27134",
   "handle": "synegubov",
   "n": 1
  },
  {
   "url": "https://t.me/synegubov/27165",
   "handle": "synegubov",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/402141",
   "handle": "TASS",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/402253",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/402268",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/402414",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/402447",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/402450",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/402482",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/403004",
   "handle": "TASS",
   "n": 1
  },
  {
   "url": "https://t.me/tass_agency/403062",
   "handle": "tass_agency",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/172045",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/172057",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/172112",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/172116",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/172154",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/172202",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/172262",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/172290",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/172305",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/172316",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/172317",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/ukrinform_news/172341",
   "handle": "ukrinform_news",
   "n": 1
  },
  {
   "url": "https://t.me/voenkorKotenok/77127",
   "handle": "voenkorKotenok",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21729",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21742",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21744",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21764",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21776",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21779",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21785",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21790",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21800",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21806",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21816",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/voin_dv/21817",
   "handle": "voin_dv",
   "n": 1
  },
  {
   "url": "https://t.me/wargonzo/37858",
   "handle": "wargonzo",
   "n": 1
  },
  {
   "url": "https://t.me/wargonzo/37878",
   "handle": "wargonzo",
   "n": 1
  },
  {
   "url": "https://t.me/wargonzo/37913",
   "handle": "wargonzo",
   "n": 1
  },
  {
   "url": "https://t.me/wargonzo/37942",
   "handle": "wargonzo",
   "n": 1
  },
  {
   "url": "https://t.me/wargonzo/37958",
   "handle": "wargonzo",
   "n": 1
  },
  {
   "url": "https://t.me/wargonzo/37974",
   "handle": "wargonzo",
   "n": 1
  },
  {
   "url": "https://t.me/wargonzo/37998",
   "handle": "wargonzo",
   "n": 1
  },
  {
   "url": "https://t.me/zoda_gov_ua/68620",
   "handle": "zoda_gov_ua",
   "n": 1
  },
  {
   "url": "https://t.me/zoda_gov_ua/68631",
   "handle": "zoda_gov_ua",
   "n": 1
  },
  {
   "url": "https://t.me/zoda_gov_ua/68644",
   "handle": "zoda_gov_ua",
   "n": 1
  },
  {
   "url": "https://t.me/zoda_gov_ua/68648",
   "handle": "zoda_gov_ua",
   "n": 1
  },
  {
   "url": "https://t.me/zoda_gov_ua/68667",
   "handle": "zoda_gov_ua",
   "n": 1
  },
  {
   "url": "https://t.me/zoda_gov_ua/68669",
   "handle": "zoda_gov_ua",
   "n": 1
  },
  {
   "url": "https://t.me/zoda_gov_ua/68708",
   "handle": "zoda_gov_ua",
   "n": 1
  },
  {
   "url": "https://tass.com/politics/2209177",
   "handle": "TASS",
   "n": 1
  },
  {
   "url": "https://tass.com/politics/2209379",
   "handle": "TASS",
   "n": 1
  },
  {
   "url": "https://tass.com/politics/2209825",
   "handle": "TASS",
   "n": 1
  },
  {
   "url": "https://tass.com/politics/2210903",
   "handle": "TASS",
   "n": 1
  },
  {
   "url": "https://v2.osintukraine.com/messages/8899015",
   "handle": "Рядовой на передовой (via osintukraine.com)",
   "n": 1
  },
  {
   "url": "https://www.bbc.com/news/articles/c6lye1w9p2l8o",
   "handle": "BBC News",
   "n": 1
  },
  {
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-27-2026-6ae13feb115c7",
   "handle": "criticalthreats.org (ISW/CTP)",
   "n": 1
  },
  {
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-28-2026",
   "handle": "criticalthreats.org (ISW/CTP)",
   "n": 1
  },
  {
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-28-2026#constship-jet",
   "handle": "criticalthreats.org (ISW/CTP)",
   "n": 1
  },
  {
   "url": "https://www.investing.com/news/world-news/ukrainian-capital-kyiv-under-attack-from-russian-ballistic-missiles-mayor-says-4985336",
   "handle": "Reuters (via Investing.com)",
   "n": 1
  },
  {
   "url": "https://www.kyivpost.com/post/88113",
   "handle": "Kyiv Post",
   "n": 1
  },
  {
   "url": "https://www.kyivpost.com/post/88364",
   "handle": "KyivPost",
   "n": 1
  },
  {
   "url": "https://www.pravda.com.ua/eng/news/2026/10/25/8059643/",
   "handle": "Ukrainska Pravda",
   "n": 1
  },
  {
   "url": "https://www.pravda.com.ua/eng/news/2026/10/26/8059827/",
   "handle": "Ukrainska Pravda",
   "n": 1
  },
  {
   "url": "https://www.presidentti.fi/en/president-stubb-and-prime-minister-store-held-a-phone-call-with-president-putin/",
   "handle": "President of Finland",
   "n": 1
  },
  {
   "url": "https://www.spektrnews.com/news/v-yna---25-10-2026---kostyantin-mashovec/194845",
   "handle": "Kostiantyn Mashovets (via Spektr News)",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177810-four-people-injured-in-russian-drone-attack-in-nikopol-district-including-child.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177835-russian-drones-attack-farm-in-sumy-region-one-killed-four-injured.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177845-russian-forces-strike-chernihiv-fire-breaks-out-two-injured.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177863-drone-debris-found-in-latvia.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177867-russian-airstrikes-on-sloviansk-injure-two-people-and-damage-buildings.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177872-russian-attack-sparks-warehouse-fire-in-kharkiv-suburb.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177880-drone-debris-falls-on-parking-lot-in-central-kyiv-injuring-one-person.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177886-russian-attack-leaves-one-district-in-vinnytsia-region-without-power.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4177887-russian-drone-attack-on-kharkiv-kills-one-person-and-injures-others.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4178950-russian-forces-step-up-assaults-on-huliaipole-axis-national-guard-says.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4179016-ukrainian-forces-deny-russian-claims-of-capturing-barylivka-in-sumy-region.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4179118-two-state-emergency-service-bomb-disposal-experts-killed-during-demining-operation-in-sumy-region.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4179154-russian-strike-sparks-fire-at-factory-in-dnipro.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://www.ukrinform.net/rubric-ato/4179173-russian-strike-damages-veterinary-center-in-chernihiv-killing-dog-and-injuring-three-women.html",
   "handle": "Ukrinform",
   "n": 1
  },
  {
   "url": "https://x.com/AMK_Mapping_/status/2115620483060404472",
   "handle": "AMK_Mapping_",
   "n": 1
  },
  {
   "url": "https://x.com/GeoConfirmed/status/2114037574712852660",
   "handle": "GeoConfirmed",
   "n": 1
  },
  {
   "url": "https://x.com/GeoConfirmed/status/2114039295556173831",
   "handle": "GeoConfirmed",
   "n": 1
  },
  {
   "url": "https://x.com/GeoConfirmed/status/2115946183986205081",
   "handle": "GeoConfirmed",
   "n": 1
  },
  {
   "url": "https://x.com/Hromadske/status/2114714569167786183",
   "handle": "Hromadske",
   "n": 1
  },
  {
   "url": "https://x.com/NOELreports/status/2114045374554153033",
   "handle": "NOELreports",
   "n": 1
  },
  {
   "url": "https://x.com/Suriyakmaps/status/2114434688127291829",
   "handle": "Suriyakmaps",
   "n": 1
  },
  {
   "url": "https://x.com/Suriyakmaps/status/2114442378404598008",
   "handle": "Suriyakmaps",
   "n": 1
  },
  {
   "url": "https://x.com/Suriyakmaps/status/2114443269979414632",
   "handle": "Suriyakmaps",
   "n": 1
  },
  {
   "url": "https://x.com/Suriyakmaps/status/2114743733757292671",
   "handle": "@Suriyakmaps",
   "n": 1
  },
  {
   "url": "https://x.com/Suriyakmaps/status/2114746605538562285",
   "handle": "@Suriyakmaps",
   "n": 1
  },
  {
   "url": "https://x.com/Suriyakmaps/status/2114748969381224789",
   "handle": "@Suriyakmaps",
   "n": 1
  },
  {
   "url": "https://x.com/Suriyakmaps/status/2114751446197457357",
   "handle": "@Suriyakmaps",
   "n": 1
  },
  {
   "url": "https://x.com/Suriyakmaps/status/2114752758293176403",
   "handle": "@Suriyakmaps",
   "n": 1
  },
  {
   "url": "https://x.com/Suriyakmaps/status/2114756228291166266",
   "handle": "@Suriyakmaps",
   "n": 1
  },
  {
   "url": "https://x.com/Suriyakmaps/status/2115520106675511468",
   "handle": "Suriyakmaps",
   "n": 1
  },
  {
   "url": "https://x.com/Suriyakmaps/status/2115522098840101157",
   "handle": "Suriyakmaps",
   "n": 1
  },
  {
   "url": "https://x.com/Suriyakmaps/status/2115524895362765028",
   "handle": "Suriyakmaps",
   "n": 1
  },
  {
   "url": "https://x.com/Suriyakmaps/status/2115530665496371708",
   "handle": "Suriyakmaps",
   "n": 1
  },
  {
   "url": "https://x.com/Suriyakmaps/status/2115564245194555787",
   "handle": "Suriyakmaps",
   "n": 1
  }
 ],
 "ledger": [
  {
   "claim_id": "interfax-20261024-rostov-80-uav-kalinin",
   "date": "2026-10-24",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 80.0,
   "qual": "over",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/interfaxonline/80627",
   "clause": "Rostov governor Slyusar (via Interfax): over 80 UAVs destroyed overnight over Rostov-on-Don, Taganrog and 9 districts"
  },
  {
   "claim_id": "interfax-20261024-rostov-80-uav-kalinin",
   "date": "2026-10-24",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/interfaxonline/80627",
   "clause": "debris damaged a substation in khutor Kalinin (Myasnikovsky district, 172 homes without power) and 21 buses at a Rostovpassazhirtrans depot"
  },
  {
   "claim_id": "interfax-20261024-rostov-80-uav-kalinin",
   "date": "2026-10-24",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/interfaxonline/80627",
   "clause": "debris damaged a substation in khutor Kalinin (Myasnikovsky district, 172 homes without power) and 21 buses at a Rostovpassazhirtrans depot"
  },
  {
   "claim_id": "tg-genstaff-20261024-0800-181-clashes",
   "date": "2026-10-24",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 23.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42675",
   "clause": "23 RU attacks on the Kostiantynivka direction and 19 on the Pokrovsk direction"
  },
  {
   "claim_id": "ukrinform-20261024-kyiv-obolon-house-2-injured",
   "date": "2026-10-24",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/ukrinform_news/172045",
   "clause": "Kyiv City Military Administration (via Ukrinform / Kyiv Independent): a Russian drone hit a private house in Obolon district overnight, injuring two people"
  },
  {
   "claim_id": "ukrinform-20261024-kyiv-obolon-house-2-injured",
   "date": "2026-10-24",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/ukrinform_news/172045",
   "clause": "Kyiv City Military Administration (via Ukrinform / Kyiv Independent): a Russian drone hit a private house in Obolon district overnight, injuring two people"
  },
  {
   "claim_id": "ukrinform-20261024-kyiv-obolon-house-2-injured",
   "date": "2026-10-24",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 126.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/ukrinform_news/172045",
   "clause": "UA Air Force: 126 strike drones launched (61 jet-powered), 101 downed/suppressed"
  },
  {
   "claim_id": "rfmod-20261024-chornomorsk-usv-workshop-cargo-ship",
   "date": "2026-10-24",
   "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/68492",
   "clause": "an uncrewed-boat production workshop hit in Chornomorsk port, and a dry-cargo ship carrying cargo for the UA military to Odesa hit at sea"
  },
  {
   "claim_id": "interfax-20261024-crimea-power-water-limits",
   "date": "2026-10-24",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian military units / milbloggers",
   "url": "https://t.me/interfaxonline/80632",
   "clause": "Crimea head Aksyonov (via Interfax): power and water supply restrictions introduced after an accident on trunk grids outside the region caused by a Ukrainian UAV attack"
  },
  {
   "claim_id": "interfax-20261024-crimea-power-water-limits",
   "date": "2026-10-24",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian military units / milbloggers",
   "url": "https://t.me/interfaxonline/80632",
   "clause": "RU milbloggers link it to strikes on Krasnodar Krai substations"
  },
  {
   "claim_id": "saldo-20261024-kherson-weekly-4-killed",
   "date": "2026-10-24",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 4,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Russian-installed occupation officials",
   "url": "https://t.me/SALDO_VGA/18001",
   "clause": "Occupation head Saldo: four civilians killed in UA strikes over the past week, incl. a woman and a 13-year-old child in a drone attack near Novoselka (Skadovsk district)"
  },
  {
   "claim_id": "balitsky-20261024-zaporizhzhia-occ-power-disrupted",
   "date": "2026-10-24",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian-installed occupation officials",
   "url": "https://t.me/BalitskyEV/9195",
   "clause": "Occupation head Balitsky: power supply to (occupied) Zaporizhzhia oblast disrupted after a UA drone attack on trunk grids outside the region"
  },
  {
   "claim_id": "synegubov-20261024-lozova-missile-1-killed",
   "date": "2026-10-24",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: synegubov",
   "url": "https://t.me/synegubov/27001",
   "clause": "Kharkiv governor Synehubov: Russian missile strike on Lozova hit a warehouse building, causing a fire"
  },
  {
   "claim_id": "synegubov-20261024-lozova-missile-1-killed",
   "date": "2026-10-24",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: synegubov",
   "url": "https://t.me/synegubov/27001",
   "clause": "a 45-year-old man died and two men were injured"
  },
  {
   "claim_id": "zoda-20261024-zaporizhzhia-infra-dniprohes-closed",
   "date": "2026-10-24",
   "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/68620",
   "clause": "Zaporizhzhia OVA: Russia attacked an infrastructure facility in Zaporizhzhia, two people injured preliminarily"
  },
  {
   "claim_id": "tass-20261024-sverdlovsk-lnr-apartment",
   "date": "2026-10-24",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: TASS",
   "url": "https://t.me/tass_agency/402141",
   "clause": "TASS: one person in critical condition after a UA strike on a five-storey building in Sverdlovsk (occupied Luhansk obl.)"
  },
  {
   "claim_id": "tass-20261024-sverdlovsk-lnr-apartment",
   "date": "2026-10-24",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 4,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: TASS",
   "url": "https://t.me/tass_agency/402141",
   "clause": "Pasechnik earlier said four civilians were injured"
  },
  {
   "claim_id": "ukrinform-20261024-nikopol-pokrovske-uav",
   "date": "2026-10-24",
   "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/4177810-four-people-injured-in-russian-drone-attack-in-nikopol-district-including-child.html",
   "clause": "Governor Hanzha via Ukrinform: Russian drone attack in Pokrovske community, Nikopol district injured 4 incl. a 14-year-old boy (critical)"
  },
  {
   "claim_id": "ukrinform-20261024-sloviansk-fab",
   "date": "2026-10-24",
   "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/4177867-russian-airstrikes-on-sloviansk-injure-two-people-and-damage-buildings.html",
   "clause": "2 wounded"
  },
  {
   "claim_id": "ukrinform-20261024-sloviansk-fab",
   "date": "2026-10-24",
   "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/4177867-russian-airstrikes-on-sloviansk-injure-two-people-and-damage-buildings.html",
   "clause": "high-rises, two schools, admin building, infrastructure facility damaged"
  },
  {
   "claim_id": "ukrinform-20261024-konotop-farm-uav",
   "date": "2026-10-24",
   "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/4177835-russian-drones-attack-farm-in-sumy-region-one-killed-four-injured.html",
   "clause": "1 farm worker killed, 4 injured"
  },
  {
   "claim_id": "ukrinform-20261024-konotop-farm-uav",
   "date": "2026-10-24",
   "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/4177835-russian-drones-attack-farm-in-sumy-region-one-killed-four-injured.html",
   "clause": "1 farm worker killed, 4 injured"
  },
  {
   "claim_id": "ukrinform-20261024-chernihiv-strike",
   "date": "2026-10-24",
   "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/4177845-russian-forces-strike-chernihiv-fire-breaks-out-two-injured.html",
   "clause": "Region: 1 killed, 18 injured over past day"
  },
  {
   "claim_id": "ukrinform-20261024-chernihiv-strike",
   "date": "2026-10-24",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 18.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4177845-russian-forces-strike-chernihiv-fire-breaks-out-two-injured.html",
   "clause": "Region: 1 killed, 18 injured over past day"
  },
  {
   "claim_id": "x-noelreports-20261024-synelnykove-uav",
   "date": "2026-10-24",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 3.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: NOELreports",
   "url": "https://x.com/NOELreports/status/2114045374554153033",
   "clause": "NOELreports (aggregator): Russian drone struck Synelnykove, 3 killed and 8 injured incl. an 11-year-old girl"
  },
  {
   "claim_id": "x-noelreports-20261024-synelnykove-uav",
   "date": "2026-10-24",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 8.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: NOELreports",
   "url": "https://x.com/NOELreports/status/2114045374554153033",
   "clause": "NOELreports (aggregator): Russian drone struck Synelnykove, 3 killed and 8 injured incl. an 11-year-old girl"
  },
  {
   "claim_id": "x-noelreports-20261024-synelnykove-uav",
   "date": "2026-10-24",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: NOELreports",
   "url": "https://x.com/NOELreports/status/2114045374554153033",
   "clause": "fire on 4th floor of an apartment block, shop and cars damaged"
  },
  {
   "claim_id": "ukrinform-20261024-bezliudivka-warehouse",
   "date": "2026-10-24",
   "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/4177872-russian-attack-sparks-warehouse-fire-in-kharkiv-suburb.html",
   "clause": "Ukrinform/SES: Russian drone hit roof of a private company's warehouse in Bezliudivka community (Kharkiv suburb) in the evening, causing a fire"
  },
  {
   "claim_id": "tg-genstaff-20261024-2200-117-clashes",
   "date": "2026-10-24",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 6000.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42680",
   "clause": "RU used 52 air strikes, 173 guided bombs, 6,000 kamikaze drones, 1,899 shellings. 14 assaults in Pokrovsk direction, 11 at Kostiantynivka, 9 in Huliaipole, 8 South-Slobozhanskyi, 5 Lyman, 3 Kupiansk, 3 Sloviansk"
  },
  {
   "claim_id": "tg-genstaff-20261024-2200-117-clashes",
   "date": "2026-10-24",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 52.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42680",
   "clause": "RU used 52 air strikes, 173 guided bombs, 6,000 kamikaze drones, 1,899 shellings. 14 assaults in Pokrovsk direction, 11 at Kostiantynivka, 9 in Huliaipole, 8 South-Slobozhanskyi, 5 Lyman, 3 Kupiansk, 3 Sloviansk"
  },
  {
   "claim_id": "tg-genstaff-20261024-2200-117-clashes",
   "date": "2026-10-24",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 173.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42680",
   "clause": "RU used 52 air strikes, 173 guided bombs, 6,000 kamikaze drones, 1,899 shellings. 14 assaults in Pokrovsk direction, 11 at Kostiantynivka, 9 in Huliaipole, 8 South-Slobozhanskyi, 5 Lyman, 3 Kupiansk, 3 Sloviansk"
  },
  {
   "claim_id": "tg-genstaff-20261024-2200-117-clashes",
   "date": "2026-10-24",
   "kind": "munition",
   "metricKey": "mun:artillery",
   "value": 1899.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42680",
   "clause": "RU used 52 air strikes, 173 guided bombs, 6,000 kamikaze drones, 1,899 shellings. 14 assaults in Pokrovsk direction, 11 at Kostiantynivka, 9 in Huliaipole, 8 South-Slobozhanskyi, 5 Lyman, 3 Kupiansk, 3 Sloviansk"
  },
  {
   "claim_id": "tg-genstaff-20261024-2200-117-clashes",
   "date": "2026-10-24",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 14.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42680",
   "clause": "RU used 52 air strikes, 173 guided bombs, 6,000 kamikaze drones, 1,899 shellings. 14 assaults in Pokrovsk direction, 11 at Kostiantynivka, 9 in Huliaipole, 8 South-Slobozhanskyi, 5 Lyman, 3 Kupiansk, 3 Sloviansk"
  },
  {
   "claim_id": "ukrinform-20261024-kyiv-shevchenkivskyi-debris",
   "date": "2026-10-24",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4177880-drone-debris-falls-on-parking-lot-in-central-kyiv-injuring-one-person.html",
   "clause": "Kyiv mayor Klitschko (via Ukrinform): drone debris fell on an open parking lot in central Kyiv (Shevchenkivskyi district), cars damaged, 1 injured, no fire"
  },
  {
   "claim_id": "ukrinform-20261024-vinnytsia-energy-strike",
   "date": "2026-10-24",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-ato/4177886-russian-attack-leaves-one-district-in-vinnytsia-region-without-power.html",
   "clause": "Vinnytsia ODA head Zabolotna (via Ukrinform): Russian strike on an energy facility caused an emergency power outage in one district of Vinnytsia region"
  },
  {
   "claim_id": "ukrinform-20261024-kharkiv-novobavarskyi-jet-uav",
   "date": "2026-10-24",
   "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/4177887-russian-drone-attack-on-kharkiv-kills-one-person-and-injures-others.html",
   "clause": "1 killed, 4 injured"
  },
  {
   "claim_id": "ukrinform-20261024-kharkiv-novobavarskyi-jet-uav",
   "date": "2026-10-24",
   "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/4177887-russian-drone-attack-on-kharkiv-kills-one-person-and-injures-others.html",
   "clause": "1 killed, 4 injured"
  },
  {
   "claim_id": "ukrinform-20261024-kharkiv-novobavarskyi-jet-uav",
   "date": "2026-10-24",
   "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/4177887-russian-drone-attack-on-kharkiv-kills-one-person-and-injures-others.html",
   "clause": "a one-storey building caught fire"
  },
  {
   "claim_id": "tg-modrussia-20261025-kharkiv-logistics-ship-chornomorsk",
   "date": "2026-10-25",
   "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/68513",
   "clause": "Synehubov separately reports a hypermarket and warehouses damaged in Kharkiv"
  },
  {
   "claim_id": "tg-interfax-20261025-belgorod-zamostye-fpv",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/interfaxonline/80656",
   "clause": "Interfax (Belgorod officials): one civilian killed by an FPV drone in Zamostye (Graivoron district)"
  },
  {
   "claim_id": "tg-interfax-20261025-belgorod-zamostye-fpv",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/interfaxonline/80656",
   "clause": "two injured in Blizhnyaya Igumenka and Shebekino"
  },
  {
   "claim_id": "tg-interfax-20261025-belgorod-zamostye-fpv",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/interfaxonline/80656",
   "clause": "Kyiv Independent cites Belgorod mayor: 1 killed, 10 injured in overnight attack on Belgorod city"
  },
  {
   "claim_id": "tg-interfax-20261025-belgorod-zamostye-fpv",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 10.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/interfaxonline/80656",
   "clause": "Kyiv Independent cites Belgorod mayor: 1 killed, 10 injured in overnight attack on Belgorod city"
  },
  {
   "claim_id": "tg-genstaff-20261025-0800-193-clashes",
   "date": "2026-10-25",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 16.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42683",
   "clause": "Heaviest: Pokrovsk 16 attacks, Kostiantynivka 13, Huliaipole 13 (incl. near Bilohiria), S. Slobozhanskyi 8, Lyman 6 (incl. toward Novoselivka)"
  },
  {
   "claim_id": "tg-kurskadm-20261025-174-uav-kozyrevka",
   "date": "2026-10-25",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 174.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/kurskadm/112108",
   "clause": "Kursk governor Khinshtein: 174 UA drones downed 24–25 Oct"
  },
  {
   "claim_id": "tg-kurskadm-20261025-174-uav-kozyrevka",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/kurskadm/112108",
   "clause": "FPV drone hit a car in Kozyrevka (1 injured)"
  },
  {
   "claim_id": "tg-kurskadm-20261025-174-uav-kozyrevka",
   "date": "2026-10-25",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/kurskadm/112108",
   "clause": "energy facility damaged in Khomutovka district, 104 settlements without power"
  },
  {
   "claim_id": "tg-synegubov-20261025-kharkiv-obl-daily",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: synegubov",
   "url": "https://t.me/synegubov/27020",
   "clause": "1 killed (Lozova), 11 injured"
  },
  {
   "claim_id": "tg-synegubov-20261025-kharkiv-obl-daily",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 11.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: synegubov",
   "url": "https://t.me/synegubov/27020",
   "clause": "1 killed (Lozova), 11 injured"
  },
  {
   "claim_id": "tg-synegubov-20261025-kharkiv-obl-daily",
   "date": "2026-10-25",
   "kind": "equipment",
   "metricKey": "equip:vehicles",
   "value": 16.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: synegubov",
   "url": "https://t.me/synegubov/27020",
   "clause": "hypermarket, warehouses, 16 cars damaged"
  },
  {
   "claim_id": "tg-synegubov-20261025-kharkiv-obl-daily",
   "date": "2026-10-25",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: synegubov",
   "url": "https://t.me/synegubov/27020",
   "clause": "hypermarket, warehouses, 16 cars damaged"
  },
  {
   "claim_id": "tg-dnipro-oda-20261025-synelnykove-toll-4",
   "date": "2026-10-25",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: dnipropetrovskaODA",
   "url": "https://t.me/dnipropetrovskaODA/32831",
   "clause": "Dnipropetrovsk ODA: death toll from the 24 Oct Russian strike on Synelnykove rose to 4 after a 62-year-old man died in hospital"
  },
  {
   "claim_id": "tg-dnipro-oda-20261025-synelnykove-toll-4",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 13.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: dnipropetrovskaODA",
   "url": "https://t.me/dnipropetrovskaODA/32831",
   "clause": "13 injured, 4 in serious condition"
  },
  {
   "claim_id": "tg-genstaff-20261025-overnight-153-uav-119-downed",
   "date": "2026-10-25",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 153.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/GeneralStaffZSU/42685",
   "clause": "UA GS/Air Force: overnight 24–25 Oct Russia launched 153 Shahed-type strike drones (92 jet-powered) plus decoys"
  },
  {
   "claim_id": "tg-rybar-20261025-weekly-overview",
   "date": "2026-10-25",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Russian military units / milbloggers",
   "url": "https://t.me/rybar/84159",
   "clause": "Rybar weekly overview 25 Oct (pro-RU): Witkoff talks in St Petersburg 21 Oct, Omsk refinery strike, Starlink outage, Oleshky humanitarian deal"
  },
  {
   "claim_id": "tg-balitsky-20261025-moscow-melitopol-bus-drone",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian-installed occupation officials",
   "url": "https://t.me/BalitskyEV/9197",
   "clause": "3 injured (one driver serious)"
  },
  {
   "claim_id": "tg-zelensky-20261025-weekly-vinnytsia",
   "date": "2026-10-25",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 2300.0,
   "qual": "~",
   "target": "Ukraine",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21520",
   "clause": "Zelensky: this week Russia launched ~1,600 KABs, 48 missiles and ~2,300 strike drones"
  },
  {
   "claim_id": "tg-zelensky-20261025-weekly-vinnytsia",
   "date": "2026-10-25",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 48.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21520",
   "clause": "Zelensky: this week Russia launched ~1,600 KABs, 48 missiles and ~2,300 strike drones"
  },
  {
   "claim_id": "tg-zelensky-20261025-weekly-vinnytsia",
   "date": "2026-10-25",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 1600.0,
   "qual": "~",
   "target": "Ukraine",
   "civilian": false,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21520",
   "clause": "Zelensky: this week Russia launched ~1,600 KABs, 48 missiles and ~2,300 strike drones"
  },
  {
   "claim_id": "tg-zelensky-20261025-weekly-vinnytsia",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 6.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21520",
   "clause": "a Russian drone hit an apartment building in Vinnytsia (6 injured)"
  },
  {
   "claim_id": "tg-zelensky-20261025-weekly-vinnytsia",
   "date": "2026-10-25",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21520",
   "clause": "a Russian drone hit an apartment building in Vinnytsia (6 injured)"
  },
  {
   "claim_id": "tg-zelensky-20261025-weekly-vinnytsia",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 22.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21520",
   "clause": "Dnipropetrovsk shelling killed 4, 22 injured"
  },
  {
   "claim_id": "tg-zelensky-20261025-weekly-vinnytsia",
   "date": "2026-10-25",
   "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/21520",
   "clause": "hits on TPP, substations, mines, grain stores in 9 oblasts"
  },
  {
   "claim_id": "tg-zelensky-20261025-weekly-vinnytsia",
   "date": "2026-10-25",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21520",
   "clause": "hits on TPP, substations, mines, grain stores in 9 oblasts"
  },
  {
   "claim_id": "tg-grvzapad-20261025-kupiansk-lyman-summary",
   "date": "2026-10-25",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 4,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: grvZapad",
   "url": "https://t.me/grvZapad/20187",
   "clause": "GrV Zapad channel (pro-RU) 25 Oct: four RU attacks on Radkivka with no change"
  },
  {
   "claim_id": "tg-zoda-20261025-zaporizhzhia-fpv-bus-stop",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: zoda_gov_ua",
   "url": "https://t.me/zoda_gov_ua/68631",
   "clause": "two men injured (preliminary)"
  },
  {
   "claim_id": "news-modru-20261025-daily-summary-no-captures",
   "date": "2026-10-25",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 1072.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://ru.sputnik.kz/20261025/spetsoperatsiya-rossii-na-ukraine-svodka-minoborony-rf-za-25-oktyabrya--67950147.html",
   "clause": "1,072 UAVs downed over the day"
  },
  {
   "claim_id": "web-kyivpost-20261025-poltava-epicentr-strike",
   "date": "2026-10-25",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Kyiv Post",
   "url": "https://www.kyivpost.com/post/88113",
   "clause": "Kyiv Post / Poltava ODA head Diakivnych: Russian strike hit the Epicentr shopping centre in Poltava, causing a fire"
  },
  {
   "claim_id": "web-ki-20261025-berezniki-avisma-strike",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 5.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/ukraine-strikes-russian-titanium-plant-more-than-1-400-kilometers-from-border-monitoring-channel-claims/",
   "clause": "Perm governor Makhonin says 11 drones downed, an 'industrial facility' minor damage, 5 employees injured"
  },
  {
   "claim_id": "web-ki-20261025-berezniki-avisma-strike",
   "date": "2026-10-25",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 11.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: Kyiv Independent",
   "url": "https://kyivindependent.com/ukraine-strikes-russian-titanium-plant-more-than-1-400-kilometers-from-border-monitoring-channel-claims/",
   "clause": "Perm governor Makhonin says 11 drones downed, an 'industrial facility' minor damage, 5 employees injured"
  },
  {
   "claim_id": "web-up-20261025-kherson-bus-drone-1-killed",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 6,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrainska Pravda",
   "url": "https://www.pravda.com.ua/eng/news/2026/10/25/8059643/",
   "clause": "six injured, a 67-year-old man later died in hospital"
  },
  {
   "claim_id": "tg-tass-20261025-belgorod-ambulance-fpv",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 4.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Russian regional officials",
   "url": "https://t.me/tass_agency/402268",
   "clause": "Belgorod operational HQ (via TASS/RIA): a Ukrainian drone hit an ambulance in the border area, injuring three paramedics (4 injured overall)"
  },
  {
   "claim_id": "tg-tass-20261025-belgorod-ambulance-fpv",
   "date": "2026-10-25",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Russian regional officials",
   "url": "https://t.me/tass_agency/402268",
   "clause": "Belgorod operational HQ (via TASS/RIA): a Ukrainian drone hit an ambulance in the border area, injuring three paramedics (4 injured overall)"
  },
  {
   "claim_id": "tg-modrussia-20261025-odesa-bound-cargo-ship",
   "date": "2026-10-25",
   "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/68530",
   "clause": "RF MoD: during the day drones struck a dry-cargo ship at sea that was carrying cargo to Odesa port 'for the AFU'. Also TASS 402270. Unverified / EST"
  },
  {
   "claim_id": "tg-rozhin-20261025-kyiv-darnytsia-chp-strike",
   "date": "2026-10-25",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: boris_rozhin",
   "url": "https://t.me/boris_rozhin/231008",
   "clause": "Boris Rozhin (pro-RU, citing @Sever_Z): video shows the Darnytsia combined heat and power plant in Kyiv burning after a Russian strike, with power cut in the district"
  },
  {
   "claim_id": "tg-modrussia-20261025-38-uav-daytime",
   "date": "2026-10-25",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 38.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68533",
   "clause": "RF MoD: 38 Ukrainian drones intercepted 08:00–20:00 MSK over Bryansk, Belgorod, Kursk, Oryol, Perm, Smolensk, Tver regions and the Black Sea"
  },
  {
   "claim_id": "tg-genstaff-20261025-2200-157-clashes",
   "date": "2026-10-25",
   "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/42687",
   "clause": "13 attacks on Huliaipole direction (Uspishne, Rizdvianka, Dolynka, Hirke, Yehorivka)"
  },
  {
   "claim_id": "tg-suspilne-20261025-evening-roundup-yampil-mamekyne",
   "date": "2026-10-25",
   "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/78205",
   "clause": "Russian strike on a private house in Yampil (Sumy obl.) injured a 61-year-old"
  },
  {
   "claim_id": "tg-suspilne-20261025-evening-roundup-yampil-mamekyne",
   "date": "2026-10-25",
   "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/78205",
   "clause": "drone set a grain store on fire in Mamekyne (Chernihiv obl.)"
  },
  {
   "claim_id": "isw-20261025-black-sea-570-vessels-ambrey",
   "date": "2026-10-26",
   "kind": "casualty",
   "metricKey": "killed",
   "value": 40.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Independent analysts / OSINT",
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-25-2026",
   "clause": "ISW Oct 25 citing Ambrey / IMO via the Financial Times: strikes have impacted over 570 vessels in the Black Sea in 2026 (387 in Jul–Sep), killing at least 40 sailors"
  },
  {
   "claim_id": "tg-zoda-20261026-zaporizhzhia-night-strike-1-injured",
   "date": "2026-10-26",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/zoda_gov_ua/68644",
   "clause": "private houses, cars and a commercial building damaged, fire at one impact site, one person injured (preliminary)"
  },
  {
   "claim_id": "tg-zoda-20261026-zaporizhzhia-night-strike-1-injured",
   "date": "2026-10-26",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/zoda_gov_ua/68644",
   "clause": "private houses, cars and a commercial building damaged, fire at one impact site, one person injured (preliminary)"
  },
  {
   "claim_id": "tg-modrussia-68548-overnight-strikes-chornomorsk-kharkiv",
   "date": "2026-10-26",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68548",
   "clause": "RF MoD: overnight drone strikes hit a long/medium-range UAV depot in Olshany (Kharkiv obl.), PS-330 'Zaliutyne' substation in Kharkiv, a PS-330 substation in Kamianets-Podilskyi, three berth terminals and four warehouses at Chornomorsk port, and a cargo ship a"
  },
  {
   "claim_id": "tg-modrussia-68548-overnight-strikes-chornomorsk-kharkiv",
   "date": "2026-10-26",
   "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/68548",
   "clause": "RF MoD: overnight drone strikes hit a long/medium-range UAV depot in Olshany (Kharkiv obl.), PS-330 'Zaliutyne' substation in Kharkiv, a PS-330 substation in Kamianets-Podilskyi, three berth terminals and four warehouses at Chornomorsk port, and a cargo ship a"
  },
  {
   "claim_id": "tg-modrussia-68548-overnight-strikes-chornomorsk-kharkiv",
   "date": "2026-10-26",
   "kind": "equipment",
   "metricKey": "equip:vehicles",
   "value": 5.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68548",
   "clause": "Rozhin later posted claimed footage of 5 bulk carriers hit by Geran drones in the Black Sea"
  },
  {
   "claim_id": "tg-genstaff-20261026-0800-177-clashes",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 8.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42689",
   "clause": "8 attacks repelled near Stepove, Zelena Dolyna, Kolodiazi, Stavky, Lyman, Zarichne (Lyman)"
  },
  {
   "claim_id": "tg-genstaff-20261026-0800-177-clashes",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 12.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42689",
   "clause": "12 attacks near Raiske, Mykolaipillia, Dovha Balka, Kostiantynivka, Oleksiievo-Druzhkivka, Novoselivka"
  },
  {
   "claim_id": "tg-genstaff-20261026-0800-177-clashes",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 36.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42689",
   "clause": "36 attacks stopped on Pokrovsk direction (Serhiivka, Molodetske"
  },
  {
   "claim_id": "tg-genstaff-20261026-0800-177-clashes",
   "date": "2026-10-26",
   "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/42689",
   "clause": "13 attacks Huliaipole direction (Uspishne, Rizdvianka, Dolynka, Hirke, Yehorivka)"
  },
  {
   "claim_id": "tg-genstaff-42690-night-26oct-140-drones",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 140.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: GeneralStaffZSU",
   "url": "https://t.me/GeneralStaffZSU/42690",
   "clause": "UA: night of 26 Oct Russia launched 1 Kh-31P, 3 Kh-59/69 and 140 Shahed-type drones (70 jet-powered), Gerbera and decoys"
  },
  {
   "claim_id": "tg-genstaff-42690-night-26oct-140-drones",
   "date": "2026-10-26",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 112.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: GeneralStaffZSU",
   "url": "https://t.me/GeneralStaffZSU/42690",
   "clause": "3 Kh-59/69 and 112 drones shot down/suppressed"
  },
  {
   "claim_id": "tg-zoda-20261026-zaporizhzhia-mall-strikes",
   "date": "2026-10-26",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: zoda_gov_ua",
   "url": "https://t.me/zoda_gov_ua/68648",
   "clause": "Zaporizhzhia ODA: night and morning strikes on Zaporizhzhia damaged private houses, cars and a commercial building (1 injured), then hit a closed shopping-centre building with fire"
  },
  {
   "claim_id": "tg-zoda-20261026-zaporizhzhia-mall-strikes",
   "date": "2026-10-26",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: zoda_gov_ua",
   "url": "https://t.me/zoda_gov_ua/68648",
   "clause": "Zaporizhzhia ODA: night and morning strikes on Zaporizhzhia damaged private houses, cars and a commercial building (1 injured), then hit a closed shopping-centre building with fire"
  },
  {
   "claim_id": "tg-zoda-20261026-zaporizhzhia-mall-strikes",
   "date": "2026-10-26",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 8,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: zoda_gov_ua",
   "url": "https://t.me/zoda_gov_ua/68648",
   "clause": "Tsaplienko: eight people injured in the city"
  },
  {
   "claim_id": "tg-zoda-20261026-zaporizhzhia-mall-strikes",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 857.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: zoda_gov_ua",
   "url": "https://t.me/zoda_gov_ua/68648",
   "clause": "857 strikes on 52 settlements of the oblast in a day"
  },
  {
   "claim_id": "tg-tsaplienko-101047-vinnytsia-epicentr",
   "date": "2026-10-26",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Tsaplienko",
   "url": "https://t.me/Tsaplienko/101047",
   "clause": "local channels say Russia struck an Epicentr hypermarket"
  },
  {
   "claim_id": "tg-genstaff-42692-yelets-energiya-strike",
   "date": "2026-10-26",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42692",
   "clause": "UA General Staff: on 25 Oct and night of 26 Oct UA forces hit the battery-cell workshop of the 'Energiya' plant in Yelets (sole maker of batteries for glide-bomb kits, Iskander-M, sea-launched cruise missiles)"
  },
  {
   "claim_id": "tg-genstaff-42692-yelets-energiya-strike",
   "date": "2026-10-26",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42692",
   "clause": "Also confirmed earlier hits: Proton-Electrotex microchip shop in Orel (23 Oct), UAV launch/storage site near Donetsk (23 Oct), Tolyattikauchuk in Tolyatti (24 Oct)"
  },
  {
   "claim_id": "tg-genstaff-42692-yelets-energiya-strike",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 8,
   "qual": "at least",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42692",
   "clause": "Tsaplienko: at least eight missiles hit Energiya"
  },
  {
   "claim_id": "tg-suspilne-78238-yasnohirka-strike",
   "date": "2026-10-26",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "at least",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: suspilnenews",
   "url": "https://t.me/suspilnenews/78238",
   "clause": "Suspilne citing the oblast administration: at least one killed and 10 injured (incl. a 13-year-old girl) in a morning Russian strike on Yasnohirka, Donetsk obl"
  },
  {
   "claim_id": "tg-suspilne-78238-yasnohirka-strike",
   "date": "2026-10-26",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 10.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: suspilnenews",
   "url": "https://t.me/suspilnenews/78238",
   "clause": "Suspilne citing the oblast administration: at least one killed and 10 injured (incl. a 13-year-old girl) in a morning Russian strike on Yasnohirka, Donetsk obl"
  },
  {
   "claim_id": "tg-tass-402414-voronezh-drone-attack-3-dead",
   "date": "2026-10-26",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 113.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/tass_agency/402414",
   "clause": "RU officials: 113 Ukrainian drones downed over Voronezh obl"
  },
  {
   "claim_id": "tg-tass-402414-voronezh-drone-attack-3-dead",
   "date": "2026-10-26",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 17.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/tass_agency/402414",
   "clause": "deaths rose to three (governor via TASS), 17 injured"
  },
  {
   "claim_id": "tg-tass-402414-voronezh-drone-attack-3-dead",
   "date": "2026-10-26",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/tass_agency/402414",
   "clause": "fires at several industrial sites and a business centre"
  },
  {
   "claim_id": "tg-dniproODA-32845-pavlohrad-drone-1-killed",
   "date": "2026-10-26",
   "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/32845",
   "clause": "Dnipropetrovsk ODA (Hanzha): Russian drone strike on Pavlohrad killed one person and injured at least three, including two 10-year-old girls"
  },
  {
   "claim_id": "tg-dniproODA-32845-pavlohrad-drone-1-killed",
   "date": "2026-10-26",
   "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/dnipropetrovskaODA/32845",
   "clause": "Dnipropetrovsk ODA (Hanzha): Russian drone strike on Pavlohrad killed one person and injured at least three, including two 10-year-old girls"
  },
  {
   "claim_id": "tg-genstaff-42694-melitopol-myrnohrad-strikes",
   "date": "2026-10-26",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42694",
   "clause": "UA General Staff: on 25 Oct and night of 26 Oct UA forces hit a Russian army communications node and a UAV workshop near Melitopol, command posts near Myrnohrad (Donetsk obl.) and Chervonohirka (Zaporizhzhia obl.), a UAV control point near Vyshneve, and logist"
  },
  {
   "claim_id": "tg-tass-402450-belgorod-car-attack",
   "date": "2026-10-26",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/tass_agency/402450",
   "clause": "TASS citing the Belgorod regional operational HQ: a woman was killed and three people injured in a Ukrainian attack on a car in Belgorod oblast"
  },
  {
   "claim_id": "tg-dnevnikdesantnika-49243-zaporizhzhia-hotel-fab",
   "date": "2026-10-26",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: DnevnikDesantnika",
   "url": "https://t.me/DnevnikDesantnika/49243",
   "clause": "Dnevnik Desantnika claims a FAB glide-bomb strike on the 'Venetsia' hotel near Zaporizhzhia's central beach, alleging UA troops were billeted there"
  },
  {
   "claim_id": "tg-synegubov-27089-kharkiv-novobavarskyi-missile",
   "date": "2026-10-26",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: synegubov",
   "url": "https://t.me/synegubov/27089",
   "clause": "Kharkiv governor Synehubov: Russian missile strikes on Kharkiv's Novobavarskyi district killed two people and injured four (incl. a 17-year-old girl)"
  },
  {
   "claim_id": "tg-synegubov-27089-kharkiv-novobavarskyi-missile",
   "date": "2026-10-26",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 4,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: synegubov",
   "url": "https://t.me/synegubov/27089",
   "clause": "Kharkiv governor Synehubov: Russian missile strikes on Kharkiv's Novobavarskyi district killed two people and injured four (incl. a 17-year-old girl)"
  },
  {
   "claim_id": "tg-synegubov-27089-kharkiv-novobavarskyi-missile",
   "date": "2026-10-26",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: synegubov",
   "url": "https://t.me/synegubov/27089",
   "clause": "10 garages, 4 houses, 4 apartment blocks and a kindergarten damaged"
  },
  {
   "claim_id": "tg-milinfolive-182203-kyiv-tets-claim",
   "date": "2026-10-26",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian military units / milbloggers",
   "url": "https://t.me/milinfolive/182203",
   "clause": "UA officials reported campus/residential damage"
  },
  {
   "claim_id": "tg-genstaff-42696-2200-185-clashes",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 6385.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42696",
   "clause": "RU 48 air strikes, 155 KABs, 6385 kamikaze drones, 2007 shellings. 25 attacks on the Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42696-2200-185-clashes",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 48.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42696",
   "clause": "RU 48 air strikes, 155 KABs, 6385 kamikaze drones, 2007 shellings. 25 attacks on the Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42696-2200-185-clashes",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 155.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42696",
   "clause": "RU 48 air strikes, 155 KABs, 6385 kamikaze drones, 2007 shellings. 25 attacks on the Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42696-2200-185-clashes",
   "date": "2026-10-26",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 25.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42696",
   "clause": "RU 48 air strikes, 155 KABs, 6385 kamikaze drones, 2007 shellings. 25 attacks on the Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-zelenskiy-21531-kyiv-university-ballistic",
   "date": "2026-10-26",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21531",
   "clause": "Evening ballistic strike on Kyiv (approx. 19:45Z): Zelensky says missiles hit a university campus, Kyoto Park, the area by a metro station and residential buildings"
  },
  {
   "claim_id": "tg-zelenskiy-21531-kyiv-university-ballistic",
   "date": "2026-10-26",
   "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/V_Zelenskiy_official/21531",
   "clause": "Klitschko/Kyiv Independent/Kyiv Post: 1 killed (body found in a partly destroyed building in Dniprovskyi district), 10 injured (mostly students of the State University of Trade and Economics dorms), ambulance crew hit, two medical facilities and a school damag"
  },
  {
   "claim_id": "tg-zelenskiy-21531-kyiv-university-ballistic",
   "date": "2026-10-26",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 10.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/V_Zelenskiy_official/21531",
   "clause": "Klitschko/Kyiv Independent/Kyiv Post: 1 killed (body found in a partly destroyed building in Dniprovskyi district), 10 injured (mostly students of the State University of Trade and Economics dorms), ambulance crew hit, two medical facilities and a school damag"
  },
  {
   "claim_id": "tg-zelenskiy-21531-kyiv-university-ballistic",
   "date": "2026-10-26",
   "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/V_Zelenskiy_official/21531",
   "clause": "Klitschko/Kyiv Independent/Kyiv Post: 1 killed (body found in a partly destroyed building in Dniprovskyi district), 10 injured (mostly students of the State University of Trade and Economics dorms), ambulance crew hit, two medical facilities and a school damag"
  },
  {
   "claim_id": "tg-balitsky-9206-prymorsk-bus-drone",
   "date": "2026-10-27",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian-installed occupation officials",
   "url": "https://t.me/BalitskyEV/9206",
   "clause": "31 people aboard, one killed, injured hospitalised"
  },
  {
   "claim_id": "tg-modrussia-68575-222-uav-overnight",
   "date": "2026-10-27",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 6.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/mod_russia/68575",
   "clause": "DnevnikDesantnika: a man killed in Bryansk by a drone-dropped explosive, 6 injured"
  },
  {
   "claim_id": "tg-genstaff-42698-0800-196-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 9679.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42698",
   "clause": "RU 1 missile strike, 72 air strikes, 247 KABs, 9679 kamikaze drones, 2518 shellings. 26 attacks on Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42698-0800-196-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 1.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42698",
   "clause": "RU 1 missile strike, 72 air strikes, 247 KABs, 9679 kamikaze drones, 2518 shellings. 26 attacks on Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42698-0800-196-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 72.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42698",
   "clause": "RU 1 missile strike, 72 air strikes, 247 KABs, 9679 kamikaze drones, 2518 shellings. 26 attacks on Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42698-0800-196-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 247.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42698",
   "clause": "RU 1 missile strike, 72 air strikes, 247 KABs, 9679 kamikaze drones, 2518 shellings. 26 attacks on Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42698-0800-196-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:artillery",
   "value": 2518.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42698",
   "clause": "RU 1 missile strike, 72 air strikes, 247 KABs, 9679 kamikaze drones, 2518 shellings. 26 attacks on Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-genstaff-42698-0800-196-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 26.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42698",
   "clause": "RU 1 missile strike, 72 air strikes, 247 KABs, 9679 kamikaze drones, 2518 shellings. 26 attacks on Pokrovsk direction (Novyi Donbas, Dobropillia, Vilne, Sviatohorivka, Svitle, Myrne, Serhiivka, Molodetske, Novomykolaivka, Filiia)"
  },
  {
   "claim_id": "tg-modrussia-68576-massive-strike-kyiv-kharkiv",
   "date": "2026-10-27",
   "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/68576",
   "clause": "claims hits in Kyiv on a long/medium-range drone plant, the 'Oakline' workshop assembling Fire Point FP-1/FP-2 drones, another drone workshop and the 'Southern' road-rail bridge"
  },
  {
   "claim_id": "tg-genstaff-42700-overnight-257-downed",
   "date": "2026-10-27",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 255.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/GeneralStaffZSU/42700",
   "clause": "main axis Kyiv. 257 targets downed/suppressed (2 ballistic missiles, 255 UAVs)"
  },
  {
   "claim_id": "tg-genstaff-42700-overnight-257-downed",
   "date": "2026-10-27",
   "kind": "equipment",
   "metricKey": "equip:missiles",
   "value": 2.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://t.me/GeneralStaffZSU/42700",
   "clause": "main axis Kyiv. 257 targets downed/suppressed (2 ballistic missiles, 255 UAVs)"
  },
  {
   "claim_id": "tg-zelenskiy-21532-southern-bridge-16-ballistic",
   "date": "2026-10-27",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 15.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21532",
   "clause": "Ukranews: woman (46) killed, 15 injured in Kyiv, metro green line running only Syrets–Vydubychi"
  },
  {
   "claim_id": "tg-zelenskiy-21532-southern-bridge-16-ballistic",
   "date": "2026-10-27",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 4.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21532",
   "clause": "Kyiv Independent: 4 killed, 55 injured nationwide over the day"
  },
  {
   "claim_id": "tg-zelenskiy-21532-southern-bridge-16-ballistic",
   "date": "2026-10-27",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 55.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21532",
   "clause": "Kyiv Independent: 4 killed, 55 injured nationwide over the day"
  },
  {
   "claim_id": "tg-synegubov-27098-izium-missile",
   "date": "2026-10-27",
   "kind": "equipment",
   "metricKey": "equip:vehicles",
   "value": 7.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: synegubov",
   "url": "https://t.me/synegubov/27098",
   "clause": "Synehubov: RU missile strike on Izium damaged 8 private houses, a garage and 7 cars"
  },
  {
   "claim_id": "tg-synegubov-27098-izium-missile",
   "date": "2026-10-27",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: synegubov",
   "url": "https://t.me/synegubov/27098",
   "clause": "Synehubov: RU missile strike on Izium damaged 8 private houses, a garage and 7 cars"
  },
  {
   "claim_id": "tg-kurskadm-112189-lgov-gas-station",
   "date": "2026-10-27",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/kurskadm/112189",
   "clause": "Kursk governor Khinshtein: UA drones hit a gas station in Lgov"
  },
  {
   "claim_id": "tg-kurskadm-112189-lgov-gas-station",
   "date": "2026-10-27",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/kurskadm/112189",
   "clause": "1 man injured, station roof and 6 buses damaged"
  },
  {
   "claim_id": "tg-kurskadm-112189-lgov-gas-station",
   "date": "2026-10-27",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 169.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/kurskadm/112189",
   "clause": "Daily summary (112187): 169 drones downed in 24h"
  },
  {
   "claim_id": "tg-kurskadm-112189-lgov-gas-station",
   "date": "2026-10-27",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/kurskadm/112189",
   "clause": "1 injured in Nagolnoe"
  },
  {
   "claim_id": "tg-synegubov-27099-derhachi-missile",
   "date": "2026-10-27",
   "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/27099",
   "clause": "Kharkiv OVA Synehubov: RU missile strike on Derhachi hit a warehouse building, damaged gas-station equipment and a car"
  },
  {
   "claim_id": "tg-synegubov-27099-derhachi-missile",
   "date": "2026-10-27",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 5.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/27099",
   "clause": "injured later rose to 5. Separately drones hit Kharkiv city districts (Slobidskyi, Shevchenkivskyi"
  },
  {
   "claim_id": "tg-synegubov-27099-derhachi-missile",
   "date": "2026-10-27",
   "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/synegubov/27099",
   "clause": "1 injured, Kholodnohirskyi) and a building hypermarket (Tsaplienko)"
  },
  {
   "claim_id": "tg-ukrinform-172202-kramatorsk-double-tap",
   "date": "2026-10-27",
   "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/172202",
   "clause": "Ukrinform citing SES: RU strikes set a 9-storey building and private houses on fire in Kramatorsk"
  },
  {
   "claim_id": "tg-ukrinform-172202-kramatorsk-double-tap",
   "date": "2026-10-27",
   "kind": "equipment",
   "metricKey": "equip:ships",
   "value": 1,
   "qual": "single (no number stated)",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/ukrinform_news/172202",
   "clause": "during firefighting a RU drone hit a fire tanker (rescuers unhurt)"
  },
  {
   "claim_id": "tg-dnevnikdesantnika-49280-chernihiv-warehouse",
   "date": "2026-10-27",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: DnevnikDesantnika",
   "url": "https://t.me/DnevnikDesantnika/49280",
   "clause": "Dnevnik Desantnika: Geran-2/4 strike set fire to a warehouse in Chernihiv oblast said to store small drones and winter kit for the AFU. Unverified / EST"
  },
  {
   "claim_id": "tg-zelensky-21534-operation-veles-kupiansk",
   "date": "2026-10-27",
   "kind": "casualty",
   "metricKey": "killed",
   "value": 100.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://t.me/V_Zelenskiy_official/21534",
   "clause": "Zelensky (after reports by Drapatyi, Obolenskyi, Palisa): Operation 'Veles' by the 2nd National Guard Corps 'Khartiia' on the Kupiansk direction has killed 100+ Russian troops, taken 30+ prisoners, with an underground advance of more than 15 km (repurposing ga"
  },
  {
   "claim_id": "tg-mod-russia-68589-71-uav-daytime-20261027",
   "date": "2026-10-27",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 71.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68589",
   "clause": "RF MoD: between 08:00 and 20:00 MSK air defence intercepted 71 Ukrainian UAVs over Belgorod, Bryansk, Kaluga, Kursk, Oryol, Tula oblasts and the Moscow region (also TASS)"
  },
  {
   "claim_id": "tg-genstaff-42716-2200-178-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 5942.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42716",
   "clause": "1 missile strike, 46 air strikes, 171 KABs, 5942 kamikaze drones, 1563 shellings"
  },
  {
   "claim_id": "tg-genstaff-42716-2200-178-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 1.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42716",
   "clause": "1 missile strike, 46 air strikes, 171 KABs, 5942 kamikaze drones, 1563 shellings"
  },
  {
   "claim_id": "tg-genstaff-42716-2200-178-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 46.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42716",
   "clause": "1 missile strike, 46 air strikes, 171 KABs, 5942 kamikaze drones, 1563 shellings"
  },
  {
   "claim_id": "tg-genstaff-42716-2200-178-clashes",
   "date": "2026-10-27",
   "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/42716",
   "clause": "1 missile strike, 46 air strikes, 171 KABs, 5942 kamikaze drones, 1563 shellings"
  },
  {
   "claim_id": "tg-genstaff-42716-2200-178-clashes",
   "date": "2026-10-27",
   "kind": "munition",
   "metricKey": "mun:artillery",
   "value": 1563.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42716",
   "clause": "1 missile strike, 46 air strikes, 171 KABs, 5942 kamikaze drones, 1563 shellings"
  },
  {
   "claim_id": "tg-rozhin-231240-north-fpv-sumy-tanks",
   "date": "2026-10-27",
   "kind": "equipment",
   "metricKey": "equip:armor",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/boris_rozhin/231240",
   "clause": "Rozhin (via warriorofnorth): North GoF FPV crews of the 83rd Air Assault Bde, 30th MRR and 1434th MRR claim two UA tanks and a BREM recovery vehicle destroyed in the 'Sumy forests'. Unverified / EST"
  },
  {
   "claim_id": "tg-synegubov-27134-kharkiv-osnovianskyi-drone",
   "date": "2026-10-27",
   "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/27134",
   "clause": "Kharkiv OVA Synehubov / mayor Terekhov: a RU drone hit an apartment building in Kharkiv's Osnovianskyi district, causing a fire"
  },
  {
   "claim_id": "tg-synegubov-27134-kharkiv-osnovianskyi-drone",
   "date": "2026-10-27",
   "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/synegubov/27134",
   "clause": "4 injured incl. a 4-year-old boy"
  },
  {
   "claim_id": "web-tass-2209177-dpr-13-attacks",
   "date": "2026-10-28",
   "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/2209177",
   "clause": "TASS citing the DPR (occupation) office documenting 'Ukrainian war crimes': 13 UA attacks on DPR settlements in the past day"
  },
  {
   "claim_id": "web-tass-2209177-dpr-13-attacks",
   "date": "2026-10-28",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 13.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "daily",
   "claimant": "Media report: TASS",
   "url": "https://tass.com/politics/2209177",
   "clause": "TASS citing the DPR (occupation) office documenting 'Ukrainian war crimes': 13 UA attacks on DPR settlements in the past day"
  },
  {
   "claim_id": "web-tass-2209177-dpr-13-attacks",
   "date": "2026-10-28",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: TASS",
   "url": "https://tass.com/politics/2209177",
   "clause": "2 civilians killed, 4 injured"
  },
  {
   "claim_id": "web-tass-2209177-dpr-13-attacks",
   "date": "2026-10-28",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 4.0,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: TASS",
   "url": "https://tass.com/politics/2209177",
   "clause": "2 civilians killed, 4 injured"
  },
  {
   "claim_id": "tg-genstaff-42718-0800-191-clashes",
   "date": "2026-10-28",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 32.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42718",
   "clause": "32 RU attacks on Pokrovsk dir"
  },
  {
   "claim_id": "tg-genstaff-42719-overnight-71-of-88-drones",
   "date": "2026-10-28",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 88.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42719",
   "clause": "UA AF via General Staff: overnight 27–28 Oct RU launched an Iskander-M/S-400 ballistic missile from Taganrog and 88 strike UAVs (Shahed incl. 38 jet-powered, Gerbera, decoys) from Orel, Kursk and Hvardiiske (Crimea)"
  },
  {
   "claim_id": "tg-dnipropetrovskaoda-32870-pavlohrad-drone",
   "date": "2026-10-28",
   "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/32870",
   "clause": "Overnight >10 attacks on four districts (Dnipro, Synelnykove, Nikopol, Kamianske)"
  },
  {
   "claim_id": "web-meduza-20261028-tula-novomoskovsk-azot",
   "date": "2026-10-28",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://meduza.io/en/news/2026/10/28/ukrainian-drones-strike-russia-s-tula-region-reportedly-sparking-fire-at-chemical-plant",
   "clause": "Governor Milyaev says debris damaged homes and 'infrastructure in the surrounding industrial zone' in Novomoskovsk"
  },
  {
   "claim_id": "web-meduza-20261028-tula-novomoskovsk-azot",
   "date": "2026-10-28",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 45.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://meduza.io/en/news/2026/10/28/ukrainian-drones-strike-russia-s-tula-region-reportedly-sparking-fire-at-chemical-plant",
   "clause": "Fire also reported at NLMK steel plant, Lipetsk (governor: 45 drones downed over region)"
  },
  {
   "claim_id": "web-meduza-20261028-tula-novomoskovsk-azot",
   "date": "2026-10-28",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 531.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://meduza.io/en/news/2026/10/28/ukrainian-drones-strike-russia-s-tula-region-reportedly-sparking-fire-at-chemical-plant",
   "clause": "RF MoD: 531 UAVs intercepted overnight over 13 regions"
  },
  {
   "claim_id": "web-ukrinform-4178950-ngu-huliaipole-assaults-veles",
   "date": "2026-10-28",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 27.0,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://www.ukrinform.net/rubric-ato/4178950-russian-forces-step-up-assaults-on-huliaipole-axis-national-guard-says.html",
   "clause": "NGU repelled 27 assaults in 24h (17 in Donetsk obl.)"
  },
  {
   "claim_id": "tg-synegubov-27165-kharkiv-osnovianskyi-1-killed",
   "date": "2026-10-28",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 4.0,
   "qual": "at least",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/synegubov/27165",
   "clause": "a 60-year-old man was killed and at least 4 injured"
  },
  {
   "claim_id": "tg-kurskadm-112239-lgov-drone-3-injured",
   "date": "2026-10-28",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/kurskadm/112239",
   "clause": "Kursk governor Khinshtein: a UA drone hit a fuel station and shop in Lgov"
  },
  {
   "claim_id": "tg-kurskadm-112239-lgov-drone-3-injured",
   "date": "2026-10-28",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/kurskadm/112239",
   "clause": "Kursk governor Khinshtein: a UA drone hit a fuel station and shop in Lgov"
  },
  {
   "claim_id": "tg-kurskadm-112239-lgov-drone-3-injured",
   "date": "2026-10-28",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/kurskadm/112239",
   "clause": "three injured"
  },
  {
   "claim_id": "tg-kurskadm-112239-lgov-drone-3-injured",
   "date": "2026-10-28",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/kurskadm/112239",
   "clause": "Also an FPV attack near Kekino (Glushkovo district), one injured (per Dva Majors relay)"
  },
  {
   "claim_id": "tg-rozhin-231295-claim-125-bde-commander-izium",
   "date": "2026-10-28",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: boris_rozhin",
   "url": "https://t.me/boris_rozhin/231295",
   "clause": "Rozhin reposting @Sinkovka_Kupyansk: claims a 27 Oct Tornado-S MLRS strike on a private house in Izium killed the commander of the UA 125th brigade"
  },
  {
   "claim_id": "tg-rozhin-231295-claim-125-bde-commander-izium",
   "date": "2026-10-28",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: boris_rozhin",
   "url": "https://t.me/boris_rozhin/231295",
   "clause": "two houses destroyed, power lines damaged"
  },
  {
   "claim_id": "tg-rozhin-231295-claim-125-bde-commander-izium",
   "date": "2026-10-28",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: boris_rozhin",
   "url": "https://t.me/boris_rozhin/231295",
   "clause": "two houses destroyed, power lines damaged"
  },
  {
   "claim_id": "tg-rozhin-231295-claim-125-bde-commander-izium",
   "date": "2026-10-28",
   "kind": "equipment",
   "metricKey": "equip:civilian_buildings",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: boris_rozhin",
   "url": "https://t.me/boris_rozhin/231295",
   "clause": "DnevnikDesantnika separately claims daily strikes on Izium incl. a hotel"
  },
  {
   "claim_id": "web-ki-20261028-hur-millerovo-drone-site",
   "date": "2026-10-28",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 100.0,
   "qual": "up to",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukrainian military units / commands",
   "url": "https://kyivindependent.com/russia-building-new-drone-launch-site-near-millerovo-airfield-in-rostov-oblast-hur-says/",
   "clause": "Kyiv Independent / UP citing UA military intelligence (HUR): Russia is building a new drone launch site near Millerovo airfield, Rostov obl., able to launch up to 100 Geran UAVs a day (photos released)"
  },
  {
   "claim_id": "tg-mod-68608-day-strikes-kharkiv-lutsk-kovel",
   "date": "2026-10-28",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68608",
   "clause": "RF MoD: daytime drone strikes hit a logistics centre in Kharkiv, PS-330 'Lutsk-Severnaya' substation in Lutsk and a PS-330 substation in Kovel, plus a dry-cargo ship heading to Chornomorsk"
  },
  {
   "claim_id": "tg-mod-68611-61nib-grad-north-dobropillia",
   "date": "2026-10-28",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 3,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68611",
   "clause": "RF MoD: Grad MLRS crews of the 61st Naval Infantry Brigade (Center GoF) destroyed three UA UAV control points north of Dobropillia"
  },
  {
   "claim_id": "tg-mod-68612-90-uav-daytime-20261028",
   "date": "2026-10-28",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 90.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68612",
   "clause": "RF MoD: 90 Ukrainian UAVs intercepted 08:00–20:00 MSK over seven Russian regions"
  },
  {
   "claim_id": "web-ukrinform-4179154-dnipro-factory-strike",
   "date": "2026-10-28",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4179154-russian-strike-sparks-fire-at-factory-in-dnipro.html",
   "clause": "Interfax-UA reports one man injured"
  },
  {
   "claim_id": "tg-ukrinform-172262-sarny-enterprise-strike",
   "date": "2026-10-28",
   "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/ukrinform_news/172262",
   "clause": "one man killed"
  },
  {
   "claim_id": "tg-genstaff-42723-2200-181-clashes",
   "date": "2026-10-28",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 5249.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42723",
   "clause": "55 air strikes, 188 guided bombs, 5249 kamikaze drones"
  },
  {
   "claim_id": "tg-genstaff-42723-2200-181-clashes",
   "date": "2026-10-28",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 55.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42723",
   "clause": "55 air strikes, 188 guided bombs, 5249 kamikaze drones"
  },
  {
   "claim_id": "tg-genstaff-42723-2200-181-clashes",
   "date": "2026-10-28",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 188.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42723",
   "clause": "55 air strikes, 188 guided bombs, 5249 kamikaze drones"
  },
  {
   "claim_id": "web-ukrinform-4179173-chernihiv-vet-center-bandrol",
   "date": "2026-10-28",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4179173-russian-strike-damages-veterinary-center-in-chernihiv-killing-dog-and-injuring-three-women.html",
   "clause": "Ukrinform citing National Police: a Russian 'Bandrol' missile-drone hit a veterinary centre in Chernihiv around 16:00 on 28 Oct, injuring three women and killing a dog"
  },
  {
   "claim_id": "web-ki-20261029-moscow-mass-drone-attack-121",
   "date": "2026-10-28",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 121.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: KyivIndependent",
   "url": "https://kyivindependent.com/moscow-comes-under-drone-fire-overnight-grounding-flights-at-major-airports/",
   "clause": "Kyiv Independent: Sobyanin reported 121 drones shot down approaching Moscow overnight 28–29 Oct"
  },
  {
   "claim_id": "web-ukrinform-4179118-sumy-deminers-killed-shostka",
   "date": "2026-10-29",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 2,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.ukrinform.net/rubric-ato/4179118-two-state-emergency-service-bomb-disposal-experts-killed-during-demining-operation-in-sumy-region.html",
   "clause": "Ukrinform citing SES head Danik: two SES deminers were killed when a Russian munition detonated during humanitarian demining in Shostka district, Sumy obl"
  },
  {
   "claim_id": "web-isw-20261028-usv-strike-constship-jet-bulgaria",
   "date": "2026-10-29",
   "kind": "equipment",
   "metricKey": "equip:vehicles",
   "value": 3,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Independent analysts / OSINT",
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-28-2026#constship-jet",
   "clause": "ISW/CTP citing Bulgarian Defence Minister Stoyanov: three unmanned surface vehicles struck the Liberian-flagged container ship Constship Jet (Haifa→Constanta) about '21 miles' SE of Shabla on 28 Oct"
  },
  {
   "claim_id": "web-isw-20261028-usv-strike-constship-jet-bulgaria",
   "date": "2026-10-29",
   "kind": "equipment",
   "metricKey": "equip:ships",
   "value": 1,
   "qual": "single (no number stated)",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Independent analysts / OSINT",
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-28-2026#constship-jet",
   "clause": "ISW/CTP citing Bulgarian Defence Minister Stoyanov: three unmanned surface vehicles struck the Liberian-flagged container ship Constship Jet (Haifa→Constanta) about '21 miles' SE of Shabla on 28 Oct"
  },
  {
   "claim_id": "tg-genstaff-42725-0800-189-clashes",
   "date": "2026-10-29",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 42.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42725",
   "clause": "42 attacks stopped on Pokrovsk dir., 18 Kostiantynivka, 9 Huliaipole, 7 South-Slobozhanskyi, 5 Lyman"
  },
  {
   "claim_id": "tg-genstaff-42726-97-of-112-uav",
   "date": "2026-10-29",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 112.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42726",
   "clause": "UA General Staff / Air Force: overnight 29 Oct Russia launched 112 strike drones (40 jet-powered) from Orel, Millerovo and occupied Donetsk"
  },
  {
   "claim_id": "tg-genstaff-42729-navlia-shahed-infra",
   "date": "2026-10-29",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42729",
   "clause": "UA General Staff: Defence Forces struck a Geran drone storage depot, a drone port and a fuel depot near Navlia (Bryansk obl.) on 28 Oct and overnight"
  },
  {
   "claim_id": "tg-suspilne-78410-kremenchuk-apartment",
   "date": "2026-10-29",
   "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/78410",
   "clause": "Russian drone hit an apartment block in Kremenchuk"
  },
  {
   "claim_id": "tg-suspilne-78410-kremenchuk-apartment",
   "date": "2026-10-29",
   "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/suspilnenews/78410",
   "clause": "Poltava OVA reports two killed incl. a six-year-old and later 11 injured"
  },
  {
   "claim_id": "tg-suspilne-78410-kremenchuk-apartment",
   "date": "2026-10-29",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 11.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/78410",
   "clause": "Poltava OVA reports two killed incl. a six-year-old and later 11 injured"
  },
  {
   "claim_id": "tg-ukrinform-172290-chernihiv-centre-strike",
   "date": "2026-10-29",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 15.0,
   "qual": "at least",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://t.me/ukrinform_news/172290",
   "clause": "Russian strike on central Chernihiv: two 15-year-old girls killed and at least 15 injured incl. three children (Ukrinform"
  },
  {
   "claim_id": "tg-ukrinform-172290-chernihiv-centre-strike",
   "date": "2026-10-29",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 23.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: Ukrinform",
   "url": "https://t.me/ukrinform_news/172290",
   "clause": "Suspilne later says 23 injured per RBC-Ukraine)"
  },
  {
   "claim_id": "tg-dniproODA-32912-dnipro-station-strike",
   "date": "2026-10-29",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 14.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32912",
   "clause": "Dnipropetrovsk OVA reports 14 killed and 14 injured"
  },
  {
   "claim_id": "tg-dniproODA-32912-dnipro-station-strike",
   "date": "2026-10-29",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 14.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/dnipropetrovskaODA/32912",
   "clause": "Dnipropetrovsk OVA reports 14 killed and 14 injured"
  },
  {
   "claim_id": "tg-rbcua-210297-lozova-missile",
   "date": "2026-10-29",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 6,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/RBC_ua_news/210297",
   "clause": "Kharkiv OVA: Russian missile strike on Lozova injured six men"
  },
  {
   "claim_id": "tg-suspilne-78425-izium-kab-apartment",
   "date": "2026-10-29",
   "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/78425",
   "clause": "Russian KAB hit a five-storey building in Izium"
  },
  {
   "claim_id": "tg-suspilne-78425-izium-kab-apartment",
   "date": "2026-10-29",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 5,
   "qual": "at least",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://t.me/suspilnenews/78425",
   "clause": "at least five injured, people may be under rubble (Kharkiv OVA Syniehubov)"
  },
  {
   "claim_id": "tg-tass-403004-belgorod-drone-death",
   "date": "2026-10-29",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Russian regional officials",
   "url": "https://t.me/tass_agency/403004",
   "clause": "Belgorod operational HQ via TASS: one killed and one injured by Ukrainian drone attacks in Belgorod oblast"
  },
  {
   "claim_id": "tg-ukrinform-172305-kremenchuk-toll-28",
   "date": "2026-10-29",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 3,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: ukrinform_news",
   "url": "https://t.me/ukrinform_news/172305",
   "clause": "Ukrinform: toll of the 29 Oct Russian attack on Kremenchuk rose to three killed and 28 injured"
  },
  {
   "claim_id": "tg-ukrinform-172305-kremenchuk-toll-28",
   "date": "2026-10-29",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 28.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: ukrinform_news",
   "url": "https://t.me/ukrinform_news/172305",
   "clause": "Ukrinform: toll of the 29 Oct Russian attack on Kremenchuk rose to three killed and 28 injured"
  },
  {
   "claim_id": "tg-ukrinform-172305-kremenchuk-toll-28",
   "date": "2026-10-29",
   "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/172305",
   "clause": "apartment blocks, houses and a boarding school damaged"
  },
  {
   "claim_id": "tg-modrus-68633-40-uav-day",
   "date": "2026-10-29",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 40.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68633",
   "clause": "RF MoD: 40 Ukrainian drones intercepted 08:00–20:00 MSK 29 Oct over Belgorod, Bryansk, Kursk, Oryol oblasts and Perm krai"
  },
  {
   "claim_id": "tg-genstaff-42730-neptune-su34-marinovka",
   "date": "2026-10-29",
   "kind": "equipment",
   "metricKey": "equip:aircraft",
   "value": 2,
   "qual": "",
   "target": "Russia",
   "civilian": false,
   "scope": "event",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42730",
   "clause": "claims two Su-34 destroyed"
  },
  {
   "claim_id": "tg-ukrinform-172317-bilenke-proliska-bus",
   "date": "2026-10-29",
   "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/172317",
   "clause": "one woman killed, three injured"
  },
  {
   "claim_id": "tg-ukrinform-172317-bilenke-proliska-bus",
   "date": "2026-10-29",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 3,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: ukrinform_news",
   "url": "https://t.me/ukrinform_news/172317",
   "clause": "one woman killed, three injured"
  },
  {
   "claim_id": "tg-genstaff-42731-2200-191-clashes",
   "date": "2026-10-29",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 23.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42731",
   "clause": "23 RU assaults repelled on Kostiantynivka dir., 18 Pokrovsk, 16 Huliaipole, 8 Lyman, 6 South-Slobozhanskyi, 4 Sloviansk, 2 Orikhiv"
  },
  {
   "claim_id": "tg-genstaff-42731-2200-191-clashes",
   "date": "2026-10-29",
   "kind": "munition",
   "metricKey": "mun:drones",
   "value": 6174.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42731",
   "clause": "170 KABs and 6174 kamikaze drones used"
  },
  {
   "claim_id": "tg-genstaff-42731-2200-191-clashes",
   "date": "2026-10-29",
   "kind": "munition",
   "metricKey": "mun:guided_bombs",
   "value": 170.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42731",
   "clause": "170 KABs and 6174 kamikaze drones used"
  },
  {
   "claim_id": "tg-interfax-80907-moscow-194-uav",
   "date": "2026-10-29",
   "kind": "equipment",
   "metricKey": "equip:drones",
   "value": 1,
   "qual": "single (no number stated)",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: interfaxonline",
   "url": "https://t.me/interfaxonline/80907",
   "clause": "Interfax citing Sobyanin: number of drones shot down approaching Moscow on 29 Oct rose to 194"
  },
  {
   "claim_id": "web-reuters-20261029-kyiv-ballistic-1-killed",
   "date": "2026-10-29",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 1,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://www.investing.com/news/world-news/ukrainian-capital-kyiv-under-attack-from-russian-ballistic-missiles-mayor-says-4985336",
   "clause": "Reuters: Russian ballistic missile attack on Kyiv just before 23:00 local, 29 Oct, killed one person"
  },
  {
   "claim_id": "web-reuters-20261029-kyiv-ballistic-1-killed",
   "date": "2026-10-29",
   "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.investing.com/news/world-news/ukrainian-capital-kyiv-under-attack-from-russian-ballistic-missiles-mayor-says-4985336",
   "clause": "warehouses ablaze on the east bank, missile debris damaged a residential building (Klitschko)"
  },
  {
   "claim_id": "tg-rozhin-231453-35caa-tavriiske-vasynivka",
   "date": "2026-10-29",
   "kind": "equipment",
   "metricKey": "equip:artillery",
   "value": 1,
   "qual": "single (no number stated)",
   "target": "Unclear",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: boris_rozhin",
   "url": "https://t.me/boris_rozhin/231453",
   "clause": "Voin DV via Rozhin: 35th Gds CAA (Vostok) UAV crews claim UA drone launchers destroyed near Tavriiske and Vasynivka (Zaporizhzhia dir.)"
  },
  {
   "claim_id": "web-isw-20261029-daytime-strikes",
   "date": "2026-10-30",
   "kind": "casualty",
   "metricKey": "civ_killed",
   "value": 19.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Independent analysts / OSINT",
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-29-2026",
   "clause": "ISW Oct 29: RU daytime long-range drone and loitering-munition strikes killed at least 19 and injured at least 82 across Ukraine on 29 Oct"
  },
  {
   "claim_id": "web-isw-20261029-daytime-strikes",
   "date": "2026-10-30",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 82.0,
   "qual": "",
   "target": "Unclear",
   "civilian": true,
   "scope": "aggregate",
   "claimant": "Independent analysts / OSINT",
   "url": "https://www.criticalthreats.org/analysis/russian-offensive-campaign-assessment-october-29-2026",
   "clause": "ISW Oct 29: RU daytime long-range drone and loitering-munition strikes killed at least 19 and injured at least 82 across Ukraine on 29 Oct"
  },
  {
   "claim_id": "web-ki-20261030-novokuibyshevsk-refinery",
   "date": "2026-10-30",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://kyivindependent.com/russian-oil-refinery-reportedly-attacked-amid-renewed-ukrainian-strikes-on-energy-infrastructure/",
   "clause": "Kyiv Independent: fire reported at Novokuibyshevsk refinery after suspected UA drone attack overnight 30 Oct, called a resumption of refinery strikes after a mid-October pause"
  },
  {
   "claim_id": "web-ki-20261030-novokuibyshevsk-refinery",
   "date": "2026-10-30",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Russia",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian President / Cabinet",
   "url": "https://kyivindependent.com/russian-oil-refinery-reportedly-attacked-amid-renewed-ukrainian-strikes-on-energy-infrastructure/",
   "clause": "RU deputy PM Novak said 3 refineries were attacked"
  },
  {
   "claim_id": "tg-genstaff-42733-0800-20261030",
   "date": "2026-10-30",
   "kind": "munition",
   "metricKey": "mun:ground_attacks",
   "value": 24.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "daily",
   "claimant": "Ukraine GenStaff / MoD",
   "url": "https://t.me/GeneralStaffZSU/42733",
   "clause": "24 attacks Kostiantynivka dir., 19 Pokrovsk, 18 Huliaipole, 8 Lyman, 7 South-Slobozhanskyi, 4 Sloviansk"
  },
  {
   "claim_id": "tg-mod-68642-mass-strike-kyiv-20261030",
   "date": "2026-10-30",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://t.me/mod_russia/68642",
   "clause": "RF MoD: overnight massed strike hit Kyiv Radio Plant/Trimen-Ukraine and the Fanplit UAV assembly site (FP-1/FP-2), PS-330 Novokyivska substation in Khotiv, PS-330 Svitle substation (Dnipropetrovsk obl.) and a dry-cargo ship bound for Odesa"
  },
  {
   "claim_id": "tg-kotenok-77127-kremenchuk-refinery-tpp",
   "date": "2026-10-30",
   "kind": "equipment",
   "metricKey": "equip:energy",
   "value": 1,
   "qual": "incident",
   "target": "Unclear",
   "civilian": true,
   "scope": "event",
   "claimant": "Media report: voenkorKotenok",
   "url": "https://t.me/voenkorKotenok/77127",
   "clause": "Voenkor Kotenok (RU): at least 10 missiles hit the Kremenchuk refinery and thermal power plant overnight"
  },
  {
   "claim_id": "tg-kotenok-77127-kremenchuk-refinery-tpp",
   "date": "2026-10-30",
   "kind": "munition",
   "metricKey": "mun:missiles",
   "value": 10.0,
   "qual": "at least",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "Media report: voenkorKotenok",
   "url": "https://t.me/voenkorKotenok/77127",
   "clause": "Voenkor Kotenok (RU): at least 10 missiles hit the Kremenchuk refinery and thermal power plant overnight"
  },
  {
   "claim_id": "tass-2210903-mod-weekly-alisivka-barylivka-obshche",
   "date": "2026-10-30",
   "kind": "munition",
   "metricKey": "mun:air_strikes",
   "value": 9.0,
   "qual": "",
   "target": "Unclear",
   "civilian": false,
   "scope": "component",
   "claimant": "RU MoD",
   "url": "https://tass.com/politics/2210903",
   "clause": "2 massive and 9 group strikes"
  },
  {
   "claim_id": "tass-2210903-mod-weekly-alisivka-barylivka-obshche",
   "date": "2026-10-30",
   "kind": "equipment",
   "metricKey": "equip:ships",
   "value": 1,
   "qual": "single (no number stated)",
   "target": "Ukraine",
   "civilian": false,
   "scope": "event",
   "claimant": "RU MoD",
   "url": "https://tass.com/politics/2210903",
   "clause": "11 dry-cargo ships hit"
  },
  {
   "claim_id": "web-ki-20261030-shostka-strike",
   "date": "2026-10-30",
   "kind": "casualty",
   "metricKey": "civ_wounded",
   "value": 8.0,
   "qual": "",
   "target": "Ukraine",
   "civilian": true,
   "scope": "event",
   "claimant": "Ukrainian local / regional officials & emergency services",
   "url": "https://kyivindependent.com/russian-strike-on-sumy-oblast-kills-1-injures-8-people/",
   "clause": "Kyiv Independent citing Governor Hryhorov: Russian drone strike on a civilian enterprise in Shostka community killed a 43-year-old woman and injured 8. Unverified / EST"
  }
 ],
 "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."
  }
 ]
}