The body bags lie in rows on a car park in Kyiv's Solomyanskyi district. Twenty four of them. Inside, the remains of men, women and children pulled from a residential block that took a direct hit from a Russian missile. The strike came hours after a prisoner swap that was supposed to signal a de-escalation. Instead, it sent a clear message: the Kremlin's offensive is not pausing for diplomacy.
Sources at the scene confirm the building was struck by a Kh-101 cruise missile launched from a Tu-95 bomber. The weapon's trajectory, intercept data suggests, was aimed at a nearby rail hub but missed. This is a pattern. Civilians dying because Russian targeting is imprecise or indifferent. Either way, the result is the same: a crater where a family lived.
The prisoner swap, which freed 95 Ukrainian soldiers, was being hailed by officials as a step towards renewed talks. But the rubble in Kyiv tells a different story. While negotiators trade names, the Russian army trades ordnance. The offensive in Donetsk continues unabated. Bakhmut, Vuhledar, Avdiivka: the names change, but the tactics do not. Heavy artillery, then waves of infantry. And now, strikes on urban centres far from the front.
I have seen the documents. Internal Ukrainian intelligence reports show that missile stockpiles in Russia have been replenished despite sanctions. The Kremlin is burning through reserves, but it has enough to keep cities under threat. The strike on Kyiv was not a one-off; it was a signal. The message: no place is safe.
The numbers from the ground are brutal. 24 dead, 18 injured. Among them, a child pulled from the debris after 11 hours. Alive, but alone. The mother did not make it. These are not statistics; they are people caught in a war that has no off-ramp.
Why now? The swap was meant to build trust. But trust is a luxury in war. The Kremlin sees no reason to soften its stance when the front is static. The prisoner exchange was a gesture, not a pivot. And the offensive will continue until one side breaks. The question is which side that will be.
Kyiv's mayor has called for an emergency meeting of international partners. But partners are weary. The flow of arms has slowed. Europe is eyeing its own stockpiles. The US is distracted. Ukraine is left to defend itself with the ammunition it has, and it is running out.
This is not a story about a single strike. It is a story about a war that grinds on, taking lives while the world watches. The prisoner swap was a headline. The bodies are the reality. And the offensive will not stop because of a few exchanged soldiers.
I have been covering this war since the beginning. I have seen the patterns repeat. The missiles fall, the diplomats talk, and the killing continues. The only thing that changes is the body count.
Today, Kyiv mourns. Tomorrow, it will be another city. And the offensive will roll on, indifferent to the dead.








