namespace StellaOps.Policy.Unknowns.Models;
///
/// Canonical reason codes explaining why a component is marked as unknown.
/// Each code maps to a specific remediation action.
///
public enum UnknownReasonCode
{
///
/// U-RCH: Call path analysis is indeterminate.
/// The reachability analyzer cannot confirm or deny exploitability.
///
Reachability,
///
/// U-ID: Ambiguous package identity or missing digest.
/// Cannot uniquely identify the component (e.g., missing PURL, no checksum).
///
Identity,
///
/// U-PROV: Cannot map binary artifact to source repository.
/// Provenance chain is broken or unavailable.
///
Provenance,
///
/// U-VEX: VEX statements conflict or missing applicability data.
/// Multiple VEX sources disagree or no VEX coverage exists.
///
VexConflict,
///
/// U-FEED: Required knowledge source is missing or stale.
/// Advisory feed gap (e.g., no NVD/OSV data for this package).
///
FeedGap,
///
/// U-CONFIG: Feature flag or configuration not observable.
/// Cannot determine if vulnerable code path is enabled at runtime.
///
ConfigUnknown,
///
/// U-ANALYZER: Language or framework not supported by analyzer.
/// Static analysis tools do not cover this ecosystem.
///
AnalyzerLimit
}