namespace StellaOps.Aoc; public enum AocViolationCode { None = 0, ForbiddenField, MergeAttempt, IdempotencyViolation, MissingProvenance, SignatureInvalid, DerivedFindingDetected, UnknownField, MissingRequiredField, InvalidTenant, InvalidSignatureMetadata, } public static class AocViolationCodeExtensions { public static string ToErrorCode(this AocViolationCode code) => code switch { AocViolationCode.ForbiddenField => "ERR_AOC_001", AocViolationCode.MergeAttempt => "ERR_AOC_002", AocViolationCode.IdempotencyViolation => "ERR_AOC_003", AocViolationCode.MissingProvenance => "ERR_AOC_004", AocViolationCode.SignatureInvalid => "ERR_AOC_005", AocViolationCode.DerivedFindingDetected => "ERR_AOC_006", AocViolationCode.UnknownField => "ERR_AOC_007", AocViolationCode.MissingRequiredField => "ERR_AOC_004", AocViolationCode.InvalidTenant => "ERR_AOC_004", AocViolationCode.InvalidSignatureMetadata => "ERR_AOC_005", _ => "ERR_AOC_000", }; }