'No subjects were in scope for this comparison.', self::CoverageUnproven => 'Coverage proof was missing or incomplete, so some findings were suppressed for safety.', self::EvidenceCaptureIncomplete => 'Evidence capture was incomplete, so some drift evaluation may have been suppressed.', self::RolloutDisabled => 'Full-content baseline compare is currently disabled by rollout configuration.', self::NoDriftDetected => 'No drift was detected for in-scope subjects.', }; } public function explanationFamily(): ExplanationFamily { return match ($this) { self::NoDriftDetected => ExplanationFamily::NoIssuesDetected, self::CoverageUnproven, self::EvidenceCaptureIncomplete, self::RolloutDisabled => ExplanationFamily::CompletedButLimited, self::NoSubjectsInScope => ExplanationFamily::MissingInput, }; } public function trustworthinessLevel(): TrustworthinessLevel { return match ($this) { self::NoDriftDetected => TrustworthinessLevel::Trustworthy, self::CoverageUnproven, self::EvidenceCaptureIncomplete => TrustworthinessLevel::LimitedConfidence, self::RolloutDisabled, self::NoSubjectsInScope => TrustworthinessLevel::Unusable, }; } public function absencePattern(): ?string { return match ($this) { self::NoDriftDetected => 'true_no_result', self::CoverageUnproven, self::EvidenceCaptureIncomplete => 'suppressed_output', self::RolloutDisabled => 'blocked_prerequisite', self::NoSubjectsInScope => 'missing_input', }; } }