My guess... NATO ISR + local informants. They must have been doing a good job pinpointing Russian troops movement. And then, what remained of the Ukrainian artillery, and UCAV force did the damage. Also, with such advanced intelligence, Ukrainian forces could conduct effective guerilla hit and runs on vulnerable Russian convoys. This is beginning to look similar to the carnage the Russians suffered in Chechnya.
Why haven't the Russians been doing ISR themselves in those ultra dangerous urban areas? They should have recon UAVs flying around to spot Ukrainian troops movements. Russia should be using UCAVs armed with guided micro munitions like the TB2 to eliminate Ukrainian artillery or ambush squads in civilian areas. They have that capability. The Russian Orion drones have been tested with their own guided micro munitions. The Russians have used a kamikaze drone to kill the FSA 'TOW Sniper' in Syria. Where are all these things when the Russians need them most? Big questions that are yet to answered.
Nevertheless, if the Russians just don't mind taking casualties, and bad PR. Then they could still very much overwhelm the Ukrainian defenders. It's just that it's gonna take longer, and look uglier.