A small immutable record type that represents an authorization decision for a permission. It stores the permission name, allow/deny flag, a numeric DirectEntry, a list of PolicyContribution entries, revision numbers for policy and registry, a flag indicating registration, and a textual reason.
namespace SboxSuperuser.Core.Permissions; internal sealed record PolicyDecision( string Permission, bool IsAllowed, int DirectEntry, IReadOnlyList<PolicyContribution> Contributions, long PolicyRevision, long RegistryRevision, bool IsRegistered, string Reason );