Recently, I have started tightening semantic validation for SBOM fields (for example, the primary component). For example, the sbom_with_primary_component feature as an example. According to the official CycloneDX specification, a primary component must have both name and type. However, in our current implementation, we were only checking whether the primary component object was non-nil, which can lead to false positives. I have fixed this specifically for the primary component by validating both name and type. Opening this issue to track similar semantic checks for the remaining SBOM fields, so we can align our validation logic with the official specifications.