This is a submission for DEV's Summer Bug Smash: Clear the Lineup powered by Sentry.
When the Summer Bug Smash challenge started, I gave myself one rule. Every fix has to be real, and every fix has to carry its own test that fails before the change and passes after it. I gave myself one day to see how far that rule could take me. It took me through three open source projects, three pull requests, and a lot of green check marks. Here is how it went, bug by bug.
Bug one: a gateway that kept restarting itself
My first stop was OpenClaw, a personal AI assistant project written in TypeScript. Issue 119360 described something spooky. When you changed a setting in the UI and then pressed cancel, the gateway still restarted. Cancel was supposed to mean do nothing, yet the process bounced anyway, dropping every active session on the floor.
Reading the code made the ghost visible. The restart planner compared your current config against a baseline it called the runtime compare config. That baseline was supposed to represent what the gateway was actually running. But it got updated during planning, before any reload was accepted. So when you cancelled, the planner compared your config against a baseline that had already drifted toward it, saw a mismatch, and ordered a restart for changes you had just taken back.






