Mandatory only means you cannot request an exemption from it.
The criteria for minor, major, or critical can be applied against any code item. Posting by phone so can’t go grab the definitions, but it basically goes to: whether the finding is a one off event that doesn’t affect food safety (minor), a systemic problem showing the programs/code are not being applied correctly or would affect food safety (major), or a direct observation that absolutely affects food safety (critical).
My *guess* based on not having specifications is that your program is lacking control over the spec process and wasn’t caught ahead of your actual audit when you self-audited yourself. Not having a spec for raw materials could mean missing valuable information about allergens contained or instructions for storing to prevent pathogen growth, making it a food safety hazard.