For all the boxes ticked, the 49ers skipped the loudest one: wide receiver is exactly as bare as it was. They moved the roster forward and banked a B for it.
On the needs board they went 1 of 8, with offensive lineman the one that mattered most. The trenches got the money picks, top to bottom.
In sum, a sturdy weekend with one asterisk, the wide receiver spot they never got to.