I'd been staring at the same stack trace for the better part of three hours. It was one of those bugs where every theory I formed was immediately disproved by the next print statement, and the more I looked the less I understood. By mid-afternoon I'd reached the stage of just rereading the same fifteen lines hoping they'd confess.
So I gave up, in the productive sense. I put the laptop to sleep, got changed, and took the bike out. It was January, grey, cold enough that I questioned the decision at the front door and committed to it anyway. The first ten minutes were just admin, traffic and junctions and getting clear of the town. Then the road opened up and I stopped thinking about the bug entirely, which is the whole point.
The thing about a hard climb is that it occupies just enough of you. You can't ruminate properly when your legs are complaining and you're counting breaths. The problem doesn't go away, it goes quiet, drops below the surface, and some background process gets to work on it without me leaning over its shoulder demanding answers.
It surfaced about two-thirds of the way up the long drag out past the reservoir. Not the bug, exactly, but the wrong assumption underneath it. I'd been certain a particular value was set before the function ran. On the bike, with nothing to defend, I finally let myself ask whether that was actually true. It wasn't. The bug was three layers upstream of where I'd been digging, in initialisation order, and I'd never once questioned it because it was too obvious to check.
I didn't turn around and sprint home. I finished the loop, because the answer would keep and the descent is the reward you've earned. Fixed it in about four minutes when I got back, the change a single line in a place I'd have sworn was irrelevant.
I've stopped treating this as a quirk. When I'm properly stuck, the screen is the last place the answer is going to come from, because the screen is where I built the wrong model in the first place. The bike doesn't debug the code. It debugs me, and most of the time that's the thing that's actually broken.