(or if you’re English, “Pavements!”)
I finally got this working for tertiary and secondary roads:

That location corresponds to here in OSM.
There were three bits to it:
1) Determining which roads should have a sidewalk rendered. This is done in lua, and creates e.g. a road type “tertiary_sidewalk” to go with “tertiary” and “tertiary_link”:
https://github.com/SomeoneElseOSM/SomeoneElse-style/blob/sidewalk/style.lua#L230
2) Handle “tertiary_link” the same as “tertiary” in the style’s MML, e.g.:
https://github.com/SomeoneElseOSM/openstreetmap-carto-AJT/blob/sidewalk/project.mml#L403
3) Handle “tertiary_link” the same as “tertiary” in the style’s roads.mss, e.g.:
https://github.com/SomeoneElseOSM/openstreetmap-carto-AJT/blob/sidewalk/roads.mss#L2363
… except where we want to do something different:
https://github.com/SomeoneElseOSM/openstreetmap-carto-AJT/blob/sidewalk/roads.mss#L1114
“sidewalk_width-z13” etc. are declared at the top: