The wrench dialog said the competition and find-a-team filters should be showing on the rebuilt tournament module. On the live test site, they weren’t. Nothing in the rendering code was broken. Three layers just disagreed about one default value.

We were reworking the tournament bracket module after feedback: restore those missing filters, make every view tab and search tool available by default, add a Location Search option, fix a wrench checkbox that would not save when unchecked, remove the Display Type toggle, and rename the module to Tournament Brackets. This was the exact regression the rebuild was supposed to close, and it was still open on the site we were about to hand back for review.

The filters were the obvious place to start. Find the code that renders them, find out why they had stopped.

The filters weren’t the bug

The rendering code for both filters was fine. The regression was one level up, in what each part of the system believed the default should be. A shared options library set one default. The wrench dialog’s apply logic wrote a different one when it saved a change. The display template that showed the current setting back to the admin assumed a third. Three places, three answers, and none of them was wrong on its own. Change any one of the three in isolation and the filters would look fixed on whichever screen you were staring at, while staying broken everywhere the other two mattered.

The fix that would have looked right

The fast fix was sitting right there: hardcode the filters back on in the renderer and close the ticket. It would have worked, on that one screen. It also would have left the actual disagreement in place, a landmine for whoever next touched the wrench dialog or the options schema with no reason to expect three sources of truth for one setting.

The real fix aligned the default across the options library, the wrench’s apply logic, and the display template, then checked the admin screen, the wrench dialog, and the live module all agreed at once. The Location Search addition, the checkbox save bug, the Display Type removal, and the module rename went into the same pass. All of it got verified end to end on the test tournament site before the branch was committed.

Checking one screen isn’t checking the setting

Reading the renderer, or testing one dropdown, would have confirmed the fix looked right without ever surfacing that two other layers still disagreed. The only way to know the setting was actually fixed was to trace it through every place that defined or read it and confirm they told the same story.

The filters were never broken. The system just couldn’t agree with itself about what “on” meant, and nothing forced it to check until someone went looking in all three places at once.