Where the Water Was Actually Coming From
After a heavy storm in August I walked out to check on things and found a puddle sitting between the second and third beds that had not moved in two days, still standing water over the path, soaking into the mulch on either side. I had seen water sit there before after a hard rain, but never for this long, and it was starting to creep close enough to the base of both beds that I could see damp soil climbing partway up the outside boards. I remember standing there in my slippers, annoyed at myself for not noticing it sooner, since two days of standing water is not something that happens quietly.
My first assumption
My first thought was that the beds themselves were draining poorly and pushing water out into the path, since I had already dealt with drainage trouble in one of them earlier in the year. I checked the bottom boards on both beds for the kind of soggy buildup I had seen before, but they were fine, dry on the outside, nothing unusual. The water sitting in the path was not coming out of the beds at all. It was just collecting there, on the ground between them, regardless of what the beds were doing, which meant I had been looking in the wrong place from the start.
Why I did not think of the roof at first
It sounds obvious now, but at the time my attention was entirely on the ground level, on the beds and the path between them, because that was where the actual puddle was sitting. I did not think to look up and trace the problem backward from somewhere higher than the path itself. The roofline over that corner of the house is not something I look at often, and the gutter there has never overflowed or caused any visible trouble anywhere else, so it never made it onto my list of suspects. I was so focused on what I could see standing right in the puddle that I did not consider the water might be arriving from somewhere I was not even looking.
Regrading the wrong stretch
Convinced the path itself was just low, I spent an afternoon digging out a shallow channel along the low point between the beds, sloping it toward the side yard so water would theoretically run off instead of sitting. It helped a little, the puddle was smaller after the next light rain, but a heavier storm a couple weeks later put just as much standing water back in almost the same spot, just spread a bit wider. I had fixed the shape of the puddle without fixing why it kept showing up there in the first place, and honestly it took me longer than it should have to admit that the channel had not actually solved anything.
Tracing it back further
What actually solved it was walking the yard during a rain instead of after one, which I probably should have done from the start. I put on a jacket and stood out there while it was still coming down, and it turned out water running off the back corner of the roof, off a stretch of gutter with no downspout extension, was landing right at the top of a gentle slope that ran straight down toward the gap between those two beds. The channel I had dug helped move water along a little faster once it arrived, but it did nothing about the actual source, which was rainwater from the roof funneling downhill and arriving faster than the ground between the beds could ever handle. Watching it happen in real time made the whole problem obvious in a way that no amount of poking at dry ground the next day ever could.
Fixing the actual slope
I added a length of downspout extension to carry that roof runoff further out, away from the slope leading to the beds, directing it instead toward a part of the yard with nowhere important nearby. Then I went back and reshaped the ground between the beds properly this time, building up the low spot with extra soil and packed gravel underneath, so the whole stretch of path had a gentle, consistent slope carrying any remaining water away from the beds instead of just moving a puddle from one low spot to a slightly less low one. It took a full weekend between the two jobs, which was more than I had planned to spend on it, but at least it was finally aimed at the right cause.
What a neighbour said about her own gutters
I mentioned the whole saga to a neighbour over the fence a few weeks later, mostly complaining about how long it had taken me to figure out, and she said almost the exact same thing had happened at her place a couple years earlier, water pooling near a flower bed that turned out to have nothing to do with the bed itself and everything to do with a downspout dumping water at the top of a slope. It was a small relief to hear I was not the only one who had chased the wrong fix for weeks before finally looking somewhere else entirely. She said she still checks her own downspouts every spring now before she blames anything at ground level, which is roughly the same habit I have picked up since.
Watching it through the next storm
The next heavy rain we got, I did the same thing again, stood outside in a jacket and actually watched where the water went instead of assuming. It ran off the roof through the new extension, missed the slope down to the beds entirely, and the regraded path between the beds stayed damp but never standing. No puddle sitting for two days this time. It was a longer fix than I wanted it to be, and it took getting soaked in a rainstorm to actually understand the problem instead of just treating where the water happened to end up, but I would rather stand out there once in a jacket than keep digging channels that never touch the actual cause.