namespace ClaudeDo.Installer.Checks; public enum CheckSeverity { Warning, Error } public enum CheckStatus { Ok, Failed, Unknown } public sealed record CheckResult( string Id, CheckSeverity Severity, CheckStatus Status, string TitleKey, string Message, string? HintKey, string? HelpUrl, string? Detail) { public static CheckResult Ok(string id, CheckSeverity severity, string titleKey, string message, string? detail = null) => new(id, severity, CheckStatus.Ok, titleKey, message, HintKey: null, HelpUrl: null, detail); public static CheckResult Fail(string id, CheckSeverity severity, string titleKey, string message, string? hintKey = null, string? helpUrl = null, string? detail = null) => new(id, severity, CheckStatus.Failed, titleKey, message, hintKey, helpUrl, detail); public static CheckResult Unknown(string id, CheckSeverity severity, string titleKey, string message, string? detail = null) => new(id, severity, CheckStatus.Unknown, titleKey, message, HintKey: null, HelpUrl: null, detail); }