Ran in to this dogfooding, while the top level solid section was mark not required, the inner sections are not. This means that if you happen to provide some of the config to the solid section, the sibling fields requiredness may kick in and cause errors.
So before we could end up with this
solid_name: # optional
config: # optional
inputs: # required
for ignored solids - so you could run in to issues if you provided some config for the solid, bypassing the outer "optional" and triggering errors in the "required" inputs section