Subdividing smooth quad topology produces janky shading [sort of solved?]

As usual, I have done a fair amount of poking around on the internet, and have not been able to find the answer, so I am posting here, because after a couple of hours, I am stumped. Any help would be very much appreciated.

I have a mesh that is 100% quad topology, but even in a nice and relatively flat region, subdividing causes what seems to be an uneven surface with light ridges, at least as far as the surface normals are concerned. The subdivided topology also looks nice and clean, but the wavey/ridged lighting on the persists. It’s subtle, so I didn’t even notice it at first, but in a proper rende (Cycles or Eevee) it’s bad looking and can’t be unseen.

All faces are set to shade smooth, and toggling Object Data->Normals->Auto Smooth, and all of my face normals are aligned.

Unsubdivided using “check normal + y” matcap:

And with one subdivision:

It might be easier to see with the anisotropic metal matcap, so here is the base mesh:

And with one subdivision:

With wireframe on, you can see that the mesh itself seems pretty simple and clean. I might expect some uneven shading with that slight misalignment down the middle, but it’s everywhere.

And here is what the wireframe looks like subdivided:

So it’s not making any weird topology or anything.

As one final data point, here is the mesh with one subdivision, but the “optimal display” option enabled, so you can see how the janky shading relates to the original geometry.

Well, I sort of solved the immediate problem. Apparently the grid pattern was just a teensy bit misaligned, so a lot of loop selecting and relaxing later, it mostly looks okay. It seems as if there must be a better way to deal with that, though. When you have to relax sets of crossing edge loops, you’ll never get them perfect in BOTH directions

can you upload the blend file?

Sure thing.

what’s the size of your blend file? 17,523KB? blender crashes when i open it. (2.79 version)

Oh, the file was made in 2.8, so it will only open in that version

can you save it as obj?

Adjust the quality parameter of the subdivision surface modifier?

I apologize for ghosting on the topic. I got caught up in the other aspects of my asset conversion. Anyway, I’ll be damned… I did not even notice the “Quality” option even though it was right under my nose. I guess I’m so used to that modifier’s UI panel that I wasn’t even really looking. Thanks for pointing that out!