Complete IDS validation report — the source.kind === 'ids' narrowing of
ValidationReport. specificationResults is narrowed too (not just
source): every IDS consumer below needs requirement.facet and
specification.applicability, which the general SpecificationResult
shape doesn't carry. IDSSpecificationResult is itself a narrowing of
SpecificationResult (see above), so this stays a proper subtype of
ValidationReport — assignable wherever the general shape is expected
(e.g. idsSlice's idsValidationReport: ValidationReport | null).
Complete IDS validation report — the
source.kind === 'ids'narrowing of ValidationReport.specificationResultsis narrowed too (not justsource): every IDS consumer below needsrequirement.facetandspecification.applicability, which the generalSpecificationResultshape doesn't carry.IDSSpecificationResultis itself a narrowing ofSpecificationResult(see above), so this stays a proper subtype ofValidationReport— assignable wherever the general shape is expected (e.g.idsSlice'sidsValidationReport: ValidationReport | null).